我已经创建了一个jQuery函数,可以重复地将元素从前50px动画到前150px,一个接一个地重复。
我试图在每个单独元素的动画之间创建一个暂停(不是迭代之间的暂停)。在第一次迭代中,没有任何反应。在下面的函数中,函数考虑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();
});
答案 0 :(得分:1)
您在complete:
$(".box").each(function(i){
$(this).delay(500);
});
我把它移到了$(this).delay(600 * i).animate [...]
现在这些街区之间存在延迟。
这是你想要的吗? http://jsfiddle.net/HdpPj/12/