Possible Duplicate:
Javascript for loop and setTimeout issue
我希望此循环将#leftValue内的html从0更改为leftValue,从0开始并上升直到leftValue的值-但是,它改为将#leftvalue内的html更改为leftValue的值而不以0开头。
知道我在做什么错吗?
for (i=0; i<leftValue; i++)
{
changeLeft(i);
}
function changeLeft(num)
{
var leftTimer = setTimeout(function(){$('#leftValue').html(num+'%')},1000);
}
最佳答案
您的所有计时器都在同一时间注册,并且将在1000ms之后运行(因此也同时在所有时间)。您可以将超时设置为例如num * 1000
。这样,某个num
出现的时间取决于该num
。
关于javascript - for循环和计时器有什么问题? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11657599/