我们有一个幻灯片,在循环中淡入/淡出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
}
到目前为止,这个网站和你们都是一个令人难以置信的资源。谢谢!
答案 0 :(得分: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刚刚在我撰写答案时发布了与我的解决方案非常相似的内容,但无论如何我都要发帖,因为我的解决方案保留了幻灯片序列。 / p>
编辑:我已经组建了一个小提琴来测试我的代码。它按顺序淡化三个div,从随机选择的一个开始。