如图,这段代码先显示了三次alert(),然后只看到一次fadeOut()动画就停止,请问是哪里出错的了?
function nextImg(){
var arr = new Array();
arr[0] = $("#img1");
arr[1] = $("#img2");
arr[2] = $("#img3");
for(i=0;i<3;i++){
arr[0].fadeIn(1000);
alert(i);
setTimeout(2000);
arr[0].fadeOut(1000);
}
alert("end");
}
js里的延迟都是从js运行开始计算,也就是说
$("#img1").fadeIn(1000);
$("#img2").fadeIn(1000);
$("#img3").fadeIn(1000);
都是一秒之后同时开始fadeIn,造成最上面图片遮住下面的,产生只有一张图的错觉
没有问题啊,img1淡入淡出各3次。。你是要控制img2,img3的话你的arr[0]要改为arr[i]
<img src="http://avatar.csdn.net/B/0/E/2_qq342063618.jpg" id="img1" />
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.2.min.js"></script>
<script>
function nextImg() {
var arr = new Array();
arr[0] = $("#img1");
arr[1] = $("#img2");
arr[2] = $("#img3");
for (i = 0; i < 3; i++) {
arr[0].fadeIn(1000);
alert(i);
setTimeout(2000);
arr[0].fadeOut(1000);
}
alert("end");
}
</script>