Javascript 延迟循环1秒
我需要每秒钟延迟一个循环,我需要计算循环已经迭代了多少次,一旦它达到了与长度相比为3的可除数,暂停一秒钟,然后继续循环Javascript 延迟循环1秒,javascript,jquery,loops,delay,settimeout,Javascript,Jquery,Loops,Delay,Settimeout,我需要每秒钟延迟一个循环,我需要计算循环已经迭代了多少次,一旦它达到了与长度相比为3的可除数,暂停一秒钟,然后继续循环 var callsPerSecond=500; var len=1900; var延迟=1500; var超时; 变量i=1;//将计数器设置为1 函数myLoop(){//创建一个循环函数 setTimeout(函数(){//调用循环时调用3s setTimeout $(“#log”).append(“调用””);//您的代码在这里 i++;//递增计数器 如果(i
var callsPerSecond=500;
var len=1900;
var延迟=1500;
var超时;
变量i=1;//将计数器设置为1
函数myLoop(){//创建一个循环函数
setTimeout(函数(){//调用循环时调用3s setTimeout
$(“#log”).append(“调用” ”);//您的代码在这里
i++;//递增计数器
如果(i<((len-(i%callsPerSecond))/callsPerSecond)){//如果计数器<10,则调用循环函数
myLoop();/…再次触发另一个
}//…设置超时()
控制台日志(i);
}, 500)
}
myLoop()代码>
此代码满足您的要求:
var callsPerSecond=500;
var len=1900;
无功延迟=1000;
函数myLoop(i){
而(我 myLoop(0)代码>如果我理解你的问题,那就是你的解决方案:
var callsPerSecond=500;
var len=1900;
无功延迟=1000;
变量i=1;//将计数器设置为1
函数myLoop(){//创建一个循环函数
setTimeout(函数(){//调用循环时调用3s setTimeout
如果(i<((len-(i%callsPerSecond))/callsPerSecond)){//如果计数器<10,则调用循环函数
$(“#log”).append(“调用” ”);//您的代码在这里
}//…设置超时()
myLoop();/…再次触发另一个
console.log('foo'+i);
i++;//递增计数器
},延误)
}
myLoop()代码>
感谢您的回复,它确实有效,但是Ruudts的答案看起来更漂亮:)