0

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

$.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}');
});

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

4

1 回答 1

3

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

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

$.vegas( 'slideshow' , {
  backgrounds: homeImgURLs
})('overlay');

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

于 2012-07-05T11:10:14.400 回答