【发布时间】:2013-03-10 07:38:04
【问题描述】:
我有一个 for 循环,其中有一个 setTimeout 函数,旨在延迟循环的每次迭代。虽然循环中的其余代码正在正确迭代,但 setTimeout 函数只工作一次,就好像 for 循环在其中一样,而不是相反。这是我的代码:
for (x = 0; x <= roll; x ++) {
setTimeout(function() {
space = $(".player." + turn).parents("td").attr("id");
space = parseInt(space);
player = $(".player." + turn);
$(".player." + turn).remove();
nextSpace = space + 1;
$("#" + nextSpace).append(player);
}, 500);
}
有什么想法吗?
【问题讨论】:
-
那些 setTimeouts 将被快速连续调用,不会有任何延迟。您需要在 setTimeout 中使用回调来实现延迟。
标签: javascript jquery for-loop settimeout delay