我想将 p 的值从 10 更改为 1,并延迟 10 秒。
for (var i=0;i<9;i++) {
setTimeout(function(){$('#timer').text(10-i)}, 1000);
}
它的值是 1,持续 1 秒,我希望它变成 10,然后是 9,然后是 8,等等。 这是fiddle 。我的错误是什么?
最佳答案
使用 setInterval 来实现此目的:-
var i=0;
var timer= setInterval(function(){
i++;
if(i==10){
clearInterval(timer);
}
$('#timer').text(10-i);
}, 1000);
在您的代码中,for 循环不会等待 setTimeout
完成。因此,当setTimeout
等待时..for循环
结束了。因此,一秒钟后,for 循环
结束..i 的值为 9,显示 10-9=1 ..
关于javascript - Jquery循环中setTimeout的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27417699/