lightbox2 - 将通过 ajax 加载的新图像添加到打开的灯箱弹出窗口
问题描述
我面临一个问题。我创建了一个图片库,其中默认显示 18 张图片,如果用户向下滚动到页面末尾,则会通过 ajax 将更多图片添加到图库中。
现在假设当用户有 18 张图片并且他打开一个灯箱时,打开的灯箱有 18 张图片,他可以来回导航。
现在,如果用户滚动页面以结束新图像被添加到页面,我想将这些图像添加到打开的灯箱中。
请提出一种方法来实现这一点。
提前致谢。
解决方案
背景
当用户单击图像时,start()
会调用 Lightbox 脚本的方法。这将通过浏览页面编译要显示的图像列表,可以是单个图像,也可以是一组(如果data-lightbox
指定)。这些存储在一个名为album
灯箱对象的数组中。
如果您动态加载图像,然后用户单击图像打开 Lightbox,事情应该会按预期工作,因为图像的编译发生在open上。
解决方案
在您的场景中,灯箱已经打开,我假设您正在浏览一组图像。您希望让用户在灯箱打开时继续滚动,并且此滚动将动态地将更多图像加载到属于该集合的页面上。
没有记录的方法可以做到这一点。但是,您可以通过非常轻松地挖掘内部结构来解决您的问题。通常不建议这样做,但预计不会对 Lightbox2 API 进行重大更改,因此这应该是安全的(但不能保证)。
在滚动时,一旦加载了新图像,album
手动将它们添加到 Lightbox 对象的属性中。然后调用updateDetails()
刷新 UI。
lightbox.album.push({
link: 'fruit-roll-ups.jpg'
});
lightbox.updateDetails();
推荐阅读
- html - CSS:不需要 div 额外边距
- c# - 如何在两个日期之间的特定时间之间保持计数
- database - 应用程序内的朋友既可以是应用程序用户,也可以是非用户——如何设计数据模型?
- javascript - 删除草稿后的 Gmail API、侧边栏和计数器未更新
- django - Django RestFramework - NOT NULL 约束失败
- html - 页面在 Safari 和 Firefox 中呈现不同
- html - 有没有办法让 iframe 全屏显示?
- javascript - Javascript - 正则表达式不包含某些字符
- pandas - 如果它包含字符串(而不是完全匹配),如何检查 Pandas 数据框列的每一行?
- r - 在 dplyr 管道中,以编程方式重命名列(左侧和右侧)