以循环方式执行循环中的所有元素?
问题描述:
我该如何在循环中执行一个函数,以便循环中的下一个元素仅在上一个元素完成时执行。以循环方式执行循环中的所有元素?
$(".welcome>p").each(function() {
var $this = $(this);
setTimeout(function() {
$this.animate({
opacity: 1
}, 600);
});
});
因此,此代码中的所有p元素将同时运行。我怎样才能改变它,让p元素按顺序一个接一个地显示出来?
感谢, YonL
答
的each
第一个参数是index
,所以你可以使用该索引递增setTimeout
这样的:
$(".welcome>p").each(function(idx) {
var $this = $(this);
setTimeout(function() {
$this.animate({
opacity: 1
}, 600);
}, idx * 600);
});
谢谢!有用! – YonL 2014-09-06 17:56:56