我有以下代码,我尝试使用 FOR 循环
简单地数到 10 通过每次迭代,我想使用 jQuery
更新一个 div 元素i
for (i=0;i<=10;i++){
setTimeout(function(){
$(".test").html(i);
},10000);
}
问题是,循环将执行并且在完成之前不会显示任何内容,这将只是数字 10。
有什么方法可以实现我的需求吗?
感谢
最佳答案
由于闭包效应,您的代码无法按预期工作。它通常通过创建另一个在创建后立即调用的匿名函数来解决:
for (i=0;i <= 10;i++){
(function(i) {
setTimeout(function(){
$(".test").html(i);
}, i * 1000);
})(i);
}
关于javascript - FOR 循环计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10575662/