如何在循环中执行一个函数,使循环中的下一个元素仅在前一个元素完成后才执行。
$(".welcome>p").each(function() {
var $this = $(this);
setTimeout(function() {
$this.animate({
opacity: 1
}, 600);
});
});
因此,此代码中的所有 p 元素将同时运行。我怎样才能改变它,使 p 元素按照它的顺序一个一个地出现?
谢谢, 向L
最佳答案
each
的第一个参数是 index
,因此您可以使用该索引来增加 setTimeout
,例如:
$(".welcome>p").each(function( idx ) {
var $this = $(this);
setTimeout(function() {
$this.animate({
opacity: 1
}, 600);
}, idx * 600);
});
关于javascript - 以连续的方式执行循环中的所有元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25702797/