【问题标题】:Image gallery fullscreen images... $.vegas( 'slideshow')图片库全屏图像... $.vegas('slideshow')
【发布时间】:2023-12-23 09:13:01
【问题描述】:

我们目前正在网站上使用全屏图像幻灯片,初始测试很有效,下面的代码显示了它是如何工作的:

$.vegas( 'slideshow' , {
    backgrounds:[
    { src:'/uploads/images/1397/lmwp_02.jpg', fade:1000 },
    { src:'/uploads/images/1397/lmwp_03.jpg', fade:1000 },
    { src:'/uploads/images/1397/lmwp_04.jpg', fade:1000 }
    ]
})('overlay');

我们想做的是从我们的 CSM 中动态写入图像。我目前正在做的就是吐出一个像这样的简单列表:

<ul id="homeSlides">    
    <li><a href="/uploads/images/001.jpg">001</a></li>
    <li><a href="/uploads/images/002.jpg">002</a></li>
</ul>

我们需要做的是获取这个图像列表并将其注入到 $.vegas backgrounds:[] 函数列表中......

我已经尝试了下面的代码并且可以获得图像列表,但我不确定您将如何将其放入 $.vegas 函数:

var homeImgURLs = [];
    $('#homeSlides li a').each(function(index) {
    homeImgURLs.push('{ src:' + $(this).attr('href') + ', fade:1000}');
});

因此这里的帖子。非常感谢任何帮助。

【问题讨论】:

    标签: jquery slideshow fullscreen image-gallery


    【解决方案1】:

    这样的事情应该可以解决问题:

    var homeImgURLs = [];
    $('#homeSlides li a').each(function(index) {
      homeImgURLs.push({
        src: $(this).attr('href'),
        fade: 1000
      });
    });
    
    $.vegas( 'slideshow' , {
      backgrounds: homeImgURLs
    })('overlay');
    

    在您的示例中,当您想要推送一个对象时,您将一个字符串推送到 homeImgURLs 数组中。

    【讨论】: