我读过w3schools:
setInterval()方法将等待指定的毫秒数,然后执行指定的函数,并在每个给定的时间间隔继续执行该函数。
setTimeout()方法将等待指定的毫秒数,然后执行指定的函数。
我试过了两个。但是,这不是我需要的。
我想要一个连续循环的函数,直到达到持续时间。
有解决方法吗?谢谢!
答案 0 :(得分:2)
var start = new Date();
var timer_id = setInterval(function() {
// the duration is 10 seconds
if (new Date() - start > 10000) {
clearInterval(timer_id);
} else {
your_function();
}
}, 1000); // every 1 second your function will run, you could change it by your needs.
答案 1 :(得分:2)
您可以在没有任何setTimeouts或setIntervals的情况下执行此操作:
var t1 = new Date().getTime();
var interval = 100;
while(new Date().getTime() - t1 < interval){
// do stuff;
}
这将持续循环100 ms。