0

我们有一个幻灯片,可以循环淡入/淡出 3 张幻灯片。有没有办法随机选择一张幻灯片开始?

当前代码:

function startSlideshow(){
    $("#slide1").fadeIn(1000).delay(3500).fadeOut(1000); //5500
    $("#slide2").delay(5500).fadeIn(1000).delay(3500).fadeOut(1000); //11000
    $("#slide3").delay(11000).fadeIn(1000).delay(3500).fadeOut(1000, startSlideshow); //55000
}

到目前为止,这个网站和你们都是令人难以置信的资源。谢谢!

4

1 回答 1

0
function startSlideshow(){
    var slides = ["#slide1","#slide2","#slide3"];
    var rand = Math.floor(Math.random()*slides.length);
    var slideSeq = slides.splice(rand).concat(slides);
    $(slideSeq[0]).fadeIn(1000).delay(3500).fadeOut(1000); //5500
    $(slideSeq[1]).delay(5500).fadeIn(1000).delay(3500).fadeOut(1000); //11000
    $(slideSeq[2]).delay(11000).fadeIn(1000).delay(3500).fadeOut(1000, startSlideshow); //55000
}

注意:我看到 naab 在我撰写答案时发布了与我的解决方案非常相似的内容,但无论如何我都会发布,因为我的解决方案保留了幻灯片序列。

编辑:我整理了一个小提琴来测试我的代码。它依次淡化三个 div,从随机选择的一个开始。

http://jsfiddle.net/QmDt5/2/

于 2012-06-16T02:57:17.797 回答