lightbox 2:如何通过 javascript 添加动态图像

2023-12-08

我在尝试时遇到困难动态添加图像, since 灯箱2(由 lokesh dakar)在文档加载后由现有的 html 编码图像进行初始化,并且在第一次之后不再解析文档。

如果我尝试使用 javascript 添加新图像(例如将它们附加到正文中),它们不会添加到 lightbox 组中。

官方网站的文档似乎没有描述任何脚本方法

有经验的人可以帮助我吗?解决方案与jquery真的很受欢迎,但我能应付得好vanilla js too.


代码示例:

HTML

<body>
 <div id="container">
  <a href="images/image-2.jpg" data-lightbox="roadtrip">Image #2</a>
  <a href="images/image-3.jpg" data-lightbox="roadtrip">Image #3</a>
  <a href="images/image-4.jpg" data-lightbox="roadtrip">Image #4</a>
 </div>
 <!-- where 'Image #X' = <img src="images/thumb/image-X.jpg>" -->
 <div id="loadmore">load more images</div>
 <script src="path/to/lightbox.js"></script>
 <script>
  /* see below for the script */
 </script>
</body>

javascript

$(function(){
  $('#loadmore').click(function(){
   //ajax request for more images.
   //load them with all the needed properties...
   //then put them into the container:
   var IMG = $('<a href="images/image-10.jpg" data-lightbox="roadtrip">'+
       '<img src="images/small/image-10.jpg">'+
     '</a>');
   //magic here... add IMG to roadtrip lightbox group!!!
   //probably something like lightbox.groups['roadtrip'].add(IMG)
   //but i'm only speculating
   $('#container').append(IMG)
  });
})

经过几个小时的测试和阅读代码后,我想出了这个神奇的代码:

//set album values
IMG = $('<a href="...">')
    .attr('data-lightbox','roadtrip')
    .append('<img src="...">')
//lightbox open:
IMG.click(function(){
    lightbox.start($(this));
    return false;
})

一些有用的提示:

  • 不要设置数据$(...).data('lightbox','group'),因为 lightbox 使用选择器$('a[data-lightbox]')每次单击链接时。相反,你应该使用$(...).attr('lightbox','group').

  • lightbox.album是一个临时变量,您不需要处理。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

lightbox 2:如何通过 javascript 添加动态图像 的相关文章

  • 在表单中重新填充密码字段会产生安全问题吗?

    我想知道当其他字段未验证时是否应该重新填充表单中的 屏蔽的 密码字段 我在网上看到过两种形式 重新填充屏蔽密码字段 清空密码字段 因此用户需要再次输入它 即使它是有效的 你的最佳实践是什么 重新填充密码字段是否表明存在安全漏洞 就可用性而言
  • HTML5 画布在缩放和旋转后平移

    我正在尝试用画布做一些事情 首先 我让用户上传图像 如果图像比我想要的大 我需要将其缩小 那部分工作得很好 最近我们遇到了 iPhone 用户上传图像的问题 这些都存在方向问题 我已经弄清楚如何提取方向 我的问题是当我操纵画布中的图像时会发
  • 推迟未使用的 CSS

    我有一个关键的 CSS 流程 可以防止页面首屏内容出现无样式内容闪现 FOUC 我陷入了 推迟未使用的 CSS 这一点 Google PageSpeed 见解 灯塔 和 或 Chrome 的性能审核强调了这一点 我已经阅读了其他文章 但它们
  • 如何在流星运行时编译新模板?

    如何使用 Handlebars js 在流星中运行时编译新模板 var source
  • 当位置从相对固定变为固定时,div 的宽度会发生变化

    当 div topNav 的位置样式从相对更改为固定时 其宽度会更改几个像素 我找到了一个 jquery 插件 http imakewebthings github com jquery waypoints 它可以优雅地执行我正在寻找的相同
  • Node.js ES6如何从模块导出类? [复制]

    这个问题在这里已经有答案了 我正在尝试从 Node js 6 2 0 中的 CommonJS 模块导出 ES6 类 class MyClass class contents here exports MyClass 然后将其导入到另一个模块
  • CSS 列不会水平对齐

    我正在使用列计数来允许我的文本流入两个不同的列 但第一列的顶部 最左边 低于另一列 col moz column count 2 webkit column count 2 column count 2 div h3 Options h3
  • “调用”C:\Program Files\nodejs\\node.exe”错误

    我一直在尝试安装节点js并安装浏览器同步 C Users Aly gt npm install g browser sync CALL C Program Files x86 nodejs node exe C Program Files
  • 获取列表框中选定值的列表

    已经有一个问题得到了大量的投票 要求使用 jQuery 从下拉列表中获取选定的值here https stackoverflow com questions 1643227 get selected text from drop down
  • 如果是数字,Chrome 会重新排序对象键,这是正常/预期的吗

    我注意到某些评估电子商务网站的某些鞋码并将其输出到屏幕上的代码会打乱 Chrome 中的顺序 给出的 JSON 可以是 7 9149 9139 10455 17208 7 5 9140 9150 10456 17209 8 2684 914
  • Phantomjs page.content 未检索页面内容

    我使用 Phantomjs 来抓取使用 JavaScript 和 Ajax 加载动态内容的网站 我有以下代码 var page require webpage create page onError function msg trace v
  • 对数组进行分组并获取计数[重复]

    这个问题在这里已经有答案了 假设我有这样的数组 foo bar foo bar bar bar zoom 我想将其分组 这样我就可以得到这样的计数 foo 2 bar 4 zoom 1 有没有一个实用程序可以做到这一点 只需使用该功能Arr
  • 让屏幕阅读器读取使用 JavaScript 添加的新内容

    加载网页时 屏幕阅读器 例如 OS X 中的屏幕阅读器或 Windows 上的 JAWS 中的屏幕阅读器 将读取整个页面的内容 但是假设您的页面是动态的 当用户执行操作时 新内容就会添加到页面中 为了简单起见 假设您在某个位置显示一条消息
  • 如何根据上一张或下一张幻灯片按键更改 Nivo Slider 中的效果?

    我想根据按下的按钮更改 Nivo Slider 上的过渡效果 关于如何实现这一目标有什么想法吗 Update澄清一下 我指的是下一个或上一个按钮 而不是键盘上的按钮 我正在寻找的是 如果一个人按下下一个按钮 则会调用 slipToRight
  • Img src 路径以及要传递的标头参数

    我在 jsp 页面中有一个 img 标记 其中 src 路径需要传递标头参数才能获取图像 我们怎样才能实现它呢 您现在可以使用fetch https developer mozilla org en US docs Web API Fetc
  • 如何检查令牌过期和注销用户?

    当用户单击注销按钮时 他 她可以自己注销 但是如果令牌过期 他 她就无法注销 因为在我的应用程序中 令牌在服务器端和前端都使用 当用户单击注销按钮时 如果令牌有效 则服务器和浏览器中的令牌都会被清除 当用户未注销并且他 她的令牌过期但未在浏
  • JavaScript - 替换 html 字符串中的特定单词索引

    我在 JS 字符串操作方面面临着一项具有挑战性的任务 有一个 HTML 字符串 我需要在其中替换特定单词索引处的单词 单词索引是忽略 HTML 标签时单词的编号 例如 下面是 HTML 字符串 span style font family
  • 手动渲染 Twig 字符串时禁用 HTML 转义

    我有以下代码将字符串呈现为 HTML 输出 如何阻止它转义 HTML 文本 template who bar params array who gt Foo s twig new Twig Environment new Twig Load
  • React 不适用于 Android 4.4.2 Web 视图浏览器

    React 在我的 Android 手机上不起作用 我不认为这是我的代码错误 因为即使我写的唯一内容是 p hello world p 它仍然没有显示 在 chrome 远程吊顶上查看后 这显示了 Map is not defined 以前
  • 如何使用javascript取消设置变量? [复制]

    这个问题在这里已经有答案了 这是我到目前为止所尝试的 var nxt I am next window onscroll function var scr this pageYOffset if scr gt 400 console log

随机推荐

  • 不兼容的数据透视类型 SQL

    我已经获得了一个数据库 我需要执行PIVOT在 我的枢轴工作得很好 但是 我需要在 SELECT 中执行的列之一是text类型 但是 PIVOT 命令不能使用此数据类型 我该如何解决这个问题 我个人的偏好是将列类型转换为VARCHAR MA
  • BeautifulSoup 的 Python 内存问题

    我已经解决了这个问题 但我想知道为什么会导致这个问题 我使用 BeautifulSoup 从网页中识别出这个跨度 span span Ally s Sizzlers span 然后我分配这个变量 restaurant name span c
  • 按每个子列表的第一个元素对列表列表进行排序[重复]

    这个问题在这里已经有答案了 如何根据每个列表的第一个元素对列表列表进行排序 例如 给出这个未排序的列表 1 4 7 3 6 9 2 59 8 排序后的结果应该是 1 4 7 2 59 8 3 6 9 使用排序函数并将匿名函数作为值传递给键参
  • XML 文件作为 django 项目的模型

    我有一个由其他程序管理的 XML 文件 我正在编写一个 Web 服务 以便用户能够查询该文件 本质上 我使用基于 xml 的数据库 而不是使用 sql 作为 Django 中的模型数据库 我该怎么做呢 我发现的所有教程都在后端使用 SQL
  • ASP.NET“特殊”标签

    像这样的 特殊 ASP NET 标记的官方名称是什么 我似乎无法弄清楚这些的概念或众所周知的名称 所以我在搜索更多信息时遇到了困难 作为奖励 任何人都可以给我一个所有可能的 特殊标签 的快速概要以及它们每个标签的作用 或向我指出一种资源 正
  • 如何将自定义 JAR 添加到“eclipse-pmd”插件?

    安装了Eclipse PMD 插件 由菲利普 格拉夫 from here 我尝试关联自定义 PMD 规则类 JAR 但找不到它的规定 该 JAR 包含自定义规则类 即extends AbstractJavaRule间接 那么有什么办法可以配
  • Windows VC++ 获取机器型号名称

    谁能告诉我如何获取 Windows 机器的型号名称 我是 Windows VC 的新手 例如 我有一台在 Windows 上运行的 IBM ThinkCenter M50 这里的型号名称是 Think Center M50 我想使用一些 A
  • Visual Studio 代码自动导入

    我正在从 Webstorm 迁移到 Visual Studio Code Webstorm 的性能很糟糕 Visual Studio 代码对于查找我需要的依赖项并导入它们并不是很有帮助 到目前为止 我一直在手动执行此操作 但说实话 我宁愿等
  • Flex 换行扫描野牛

    我想使用相同的 flex bison 扫描仪 解析器作为解释器并加载要解释的文件 在这两种情况下我都无法让换行符解析正常工作 解释器 有一个提示 我可以输入按 ENTER 终止的命令 文件 这是一个示例输入文件 切 begin print
  • PyVista 中的 3D 表面未正确生成。我试图避免关闭中心开口,但不知道该怎么做

    PyVista 填充开口出现不应填充的问题 import math import numpy as np import matplotlib as mpl import pyvista as pv mpl use Qt5Agg mpl rc
  • MPMediaItemPropertyArtwork 导致崩溃(奇怪的问题)

    allocations before running extra loop 代码 loading items to the array there are no memory warnings after this is completed
  • 使用 Excel VBA 从网站抓取文本

    我找到了这个article解释如何使用 Excel VBA 从网站上抓取某些标签 下面的代码获取第一个的内容 p 它找到的标签 Sub get title header Dim wb As Object Dim doc As Object
  • 向 UINavigationBar 后退按钮添加方法?

    如何向 UINavigationbar 后退按钮添加方法 以便每当我单击该后退按钮时 我需要检查一些值并显示 UIAlertView 有什么选择吗 我尝试过这个方法 但它对我有用 void navigationController UINa
  • 使用 javascript (codeigniter) 将 PHP 以动态形式导入数据库

    我想使用数组插入多个数据 PHP CodeIgniter 但我仍然发现一个错误 错误是数组不清楚 function insert hitung count POST pembicara pengisi implode POST pembic
  • 按 MySQL 中的当前日期过滤

    如何将当前日期传递给 mysql 中的查询 例如这样的查询 select from Dailytimesheet dailytimesheet where dailytimesheet TrackingDate 2010 05 03 在 M
  • 初始化与赋值

    术语 初始化 和 赋值 似乎可以互换使用 我做了一些搜索 似乎技术上可能存在差异 我的理解是 在变量的上下文中 当 JavaScript 引擎使其可供使用和赋值时 变量就会被初始化 无论是显式完成 如let foo 1 或通过 JavaSc
  • 将 aleph 与 SWI-prolog 结合使用:source_sink `library(aleph)' 不存在

    我正在尝试使用 SWI Prolog 导入 Aleph 当我运行我的程序时 出现以下错误 我需要做什么才能导入library aleph 顺便说一下 我已经下载了aleph pl对于我的程序 这是我的测试程序 我知道aleph库一定有问题
  • 如何在 Laravel 中获取非键列字段的不同值?

    这可能很容易 但不知道如何做 我有一个表 它可以具有特定非键列字段的重复值 如何使用查询生成器或 Eloquent 编写 SQL 查询来获取该列具有不同值的行 请注意 我不仅仅获取该列 它与其他列值结合在一起 所以distinct 可能真的
  • Intellij 控制台输出

    这是一段简单代码的输出 Library Java JavaVirtualMachines jdk 9 jdk Contents Home bin java javaagent Applications IntelliJ IDEA CE ap
  • lightbox 2:如何通过 javascript 添加动态图像

    我在尝试时遇到困难动态添加图像 since 灯箱2 由 lokesh dakar 在文档加载后由现有的 html 编码图像进行初始化 并且在第一次之后不再解析文档 如果我尝试使用 javascript 添加新图像 例如将它们附加到正文中 它