我尝试制作一个自动滑块,尽管我的代码似乎无法正常工作 - 它要么使浏览器崩溃,要么执行得非常快。
我一直在玩的是setTimeout
,但它似乎在while循环中不起作用。
var playSlider = true;
if(playSlider) {
var i = $('#sliderwrapper ul li:visible').attr('data-number');
var lengthLi = $('#sliderwrapper ul li').size();
while(i<=lengthLi) {
var x = i + 1;
setTimeout(function(){
$('#sliderwrapper ul li[data-number=' + i + ']').fadeOut(450);
$('#sliderwrapper ul li[data-number=' + x + ']').fadeIn(600);
}, 3000);
i++;
}
}
HTML:
<ul>
<li data-number="1" data-description="Buy now!"><img src="images/slider1.png" border="0"></li>
<li data-number="2" data-description="Buy later!"><img src="images/slider2.png" border="0"></li>
<li data-number="3"><img src="images/slider3.png" border="0"></li>
<li data-number="4"><img src="images/slider4.png" border="0"></li>
<li data-number="5"><img src="images/slider5.png" border="0"></li>
<li data-number="6"><img src="images/slider2.png" border="0"></li>
<li data-number="7"><img src="images/slider3.png" border="0"></li>
<li data-number="8"><img src="images/slider5.png" border="0"></li>
<li data-number="9"><img src="images/slider1.png" border="0"></li>
</ul>