当前位置: 首页 > 面试题库 >

通过Ajax加载下一个图像并添加到Fancybox

赫连彬炳
2023-03-14
问题内容

我的问题是我有一个大型画廊,不应在第一页加载时完全加载。因此,我加载了50张图像中的10张,并向其中添加了fancybox。当html" target="_blank">用户单击下一步按钮时,第11张图像应通过Ajax加载并附加到图库容器中。

问题是fancybox停止在第10张图片,因为它不知道动态加载的图片。

如何将动态加载的图像添加到fancybox2?

目前我有这个:

function loadFancybox() {
    $('a.lightbox').fancybox({
        helpers: {
            overlay: {
                css: {
                    'background': 'rgba(0,0,0,0.8)'
                }
            }
        },

        beforeLoad: function() {
            this.title = $(this.element).data('title');
            ajaxGetNextImages();
            loadFancybox();
        },
        loop: false
    });
}
loadFancybox();

ajaxGetNextImages() 获取下一张图片:)

之后,我调用loadFancybox(),以便所有新图像都属于图库。但是直到我重新打开fancybox才包括在内…


问题答案:

好的,只是出于娱乐目的,并且基于imran-a在此GitHub问题上的评论,这是您被黑的解决方案:

$(".fancybox").fancybox({
    loop: false,
    beforeLoad: function () {
        if ((this.index == this.group.length - 1) && !done) {
            ajaxGetNextImages();
            done = true;
            this.group.push(
               { href: "images/04.jpg", type: "image", title: "Picture 04", isDom: false },
               { href: "images/05.jpg", type: "image", title: "Picture 05", isDom: false },
               { href: "images/06.jpg", type: "image", title: "Picture 06", isDom: false }
            ); // push 
        } // if
    } // beforeLoad
}); // fancybox

注意 ,除了调用ajaxGetNextImages()(将新图像放置在文档流中)之外,我还必须(手动)将新图像推送到fancybox的组中。

不是一个完美的解决方案,但它可以工作,请参见 DEMO
HERE

;您会在页面加载时看到三个缩略图。打开fancybox并导航到最后一项后,将在文档中添加另外三个缩略图,并在fancybox画廊中添加3个对应的图像。

还要注意,您必须var done = false;在脚本开始时进行初始化。

顺便说一句,忘了功能loadFancybox(),不需要。



 类似资料:
  • 问题内容: 我正在创建一个浏览大量图片的应用程序。至此,项目的那部分完成了,它对正确的图片进行了排序,过滤和加载,甚至将它们拆分为单独的页面以加快加载速度。 效果很好,但每页加载25张图片仍需要8秒钟以上。我已经进行了一些研究,得出的结论是,使用异步jQuery Ajax请求是最好的方式,以便尽可能快地同时加载所有请求。 到目前为止,这是我的代码: 此代码的问题在于,除了带有灰色边框的空白方形外,

  • 问题内容: 我有下面的代码,我需要做的是通过ajax将href中的图像加载到div中。任何帮助。我相信load()无法加载这样的图像? 非常感谢,C 问题答案: 您还必须删除当前附加的图像。这是带有单击事件和图像的,而不是附加标记的。

  • 问题内容: 我想为我的jquery ajax代码(这是jquery仍在处理时)实现一个加载图像,下面是我的代码: 如何在此代码中实现加载图像。谢谢 问题答案: 尝试这样的事情:

  • 我正在使用ajax提交一个包含数组、文本字段和文件的多部分表单。 我将每个VAR附加到主数据中,如下所示 然后使用ajax函数将其发送到PHP文件中存储在sql DB中。 但是在PHP端,变量(一个数组)显示为字符串。 当我没有将它作为表单数据与ajax一起发送,而是使用简单的选项时,我会在PHP端将它作为一个数组来获取,但这样我就不能同时发送文件。 有什么解决办法吗?

  • 问题内容: 好的,所以我对ajax和从外部加载内容还很陌生,希望对我的问题有任何见解。 我目前有一个隐藏的div,它是空的,单击链接后应该在其中加载ajax内容。 我目前有一个链接列表,所有链接都具有相同的类,并且我想在单击空白div时进行幻灯片切换,然后从链接要访问的页面中加载内容。 链接: 当前的jQuery: 刚接触Ajax并加载外部内容时,我想知道如何从位于标签中的链接页面加载内容。因此,

  • 遇到了一个奇怪的问题,试图通过模型内的url从这里下载任何照片->https://jsonplaceholder.typicode.com/photos,例如“https://via.placeholder.com/150/92c952”,但得到错误: 另外,如果我试图从其他链接加载图像,例如->https://avatars.mds.yandex.net/get-pdb/1088712/8b19