$("#banner ul li").each(function(i){
$(this).animate({
width: arrW[index],
height: arrH[index],
opacity: arrO[index],
left: arrL[index],
top: arrT[index]
},500)
}
Was ich nicht verstehe ist, dass die Ausführung jeder Schleife 500 ms dauert. Bedeutet das, dass die n?chste Schleife nach dem Ende der Animationsausführung gestartet wird, also 500 Millisekunden? Oder warten Sie, bis die Animation abgeschlossen ist, bevor Sie die n?chste Schleife ausführen?
each主要只是遍歷,沒有異步調(diào)用的操作,而animate的動(dòng)畫主要還是用的延遲也就是異步。
http://www.zhangyunling.com/2...
這好比:
for(var i=0;i<100;i++){
setTimeout(function(){
console.log('一次延遲回調(diào)');
},1000);
}
于是,動(dòng)畫的回調(diào)應(yīng)該是進(jìn)入任務(wù)隊(duì)列的,所以循環(huán)是先執(zhí)行的。
應(yīng)該是先循環(huán)綁定事件,然后同時(shí)進(jìn)行。
也就是說,在動(dòng)畫執(zhí)行之前,先做了循環(huán),給每一個(gè)元素都綁定了這個(gè)動(dòng)畫。循環(huán)結(jié)束之后,所有元素同時(shí)進(jìn)行這個(gè)動(dòng)畫。