【发布时间】:2015-04-08 14:28:29
【问题描述】:
我在使用 setTimeOut 函数时遇到了一点问题。虽然我看到了其他有关此功能的主题,但我仍然不明白。
我想生成 5 个“兽人”,但不是同时生成。所以我想给每个 fe 5 秒的延迟。我创造的最好的东西是一个无限循环,但我不知道为什么它在 4 之后没有停止。
for (var z = 0; z < 4; z++) {
(function (z) {
setTimeout(function () {
$("#gameBoard").append("<img class='Orc' src='Img/Orc.gif' alt='Orc'/>");
$( ".Orc" ).animate({ "left": "+=100%" }, 20000 );
console.log("test");
}, 4000);
}(z))
}
这只会产生一个兽人。为什么会这样?
它不必与传递的变量一起使用。
有什么想法吗?
【问题讨论】:
-
您发布的代码应该停止,但它会同时创建所有四个兽人(尽管在循环完成后四秒)。此外,由于您没有异步使用
z,因此不需要对其进行闭包。
标签: javascript jquery performance for-loop settimeout