我已經創建了一個jQuery函數,它可以重複地從頂部50px到頂部150px一個接一個地重複動畫元素。在重複的jQuery動畫中放置延遲()的問題
我正試圖在每個單獨元素的動畫之間創建一個暫停(而不是迭代之間的暫停)。在第一次迭代中,沒有任何反應。在下面的函數中,函數會考慮delay(),但只考慮元素的一部分。
您可以在下面的鏈接中看到整個行動。
$(".but").click(function() {
function repeat() {
var count = $(".box").length;
$($(".box").get().reverse()).each(function(i) {
$(this).delay(600 * i).animate({
top: "150px",
duration: 600,
easing: "linear",
complete: function() {
$(".box").each(function(i) {
$(this).delay(500);
});
if (count == 0) {
$(".box").css("top", "50px");
repeat();
};
}
});
});
};
repeat();
});
那麼,你的問題是什麼? –
您的jsfiddle代碼在click事件函數內調用'repeat()' –
爲什麼dealy函數僅在第二次迭代後才起作用?即便如此,爲什麼它只適用於某些元素? –