Javascript 这个for loop&;有什么问题;计时器?
可能重复:Javascript 这个for loop&;有什么问题;计时器?,javascript,for-loop,settimeout,Javascript,For Loop,Settimeout,可能重复: 我希望这个循环将#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(){$('#leftVal
我希望这个循环将#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);
}
for(i=0;i您的所有计时器都同时注册,并将在1000毫秒后运行(因此也会同时运行)。您可以将超时设置为例如num*1000
。这样,某个num
显示的时间取决于该num
是的,您的循环将触发一系列设置超时,这些设置超时将在1000毫秒左右开始
您可能希望改用setInterval
,它可以逐步更改值(即,简单动画).我相信这是因为我们的for循环不依赖于setTimeout,所以它看起来像是跳过了0到leftValue…值,而实际上它是在生成它们,但超时没有效果。这是正确的!感谢老兄!!!