【发布时间】:2014-03-18 15:02:49
【问题描述】:
我读过 w3schools:
setInterval() 方法将等待指定的毫秒数,然后执行指定的函数,并在每个给定的时间间隔内继续执行该函数。
setTimeout()方法会等待指定的毫秒数,然后执行指定的函数。
我都试过了。然而,这不是我需要的。
我想要一个持续循环直到达到持续时间的函数。
有解决方法吗?谢谢!
【问题讨论】:
标签: javascript
我读过 w3schools:
setInterval() 方法将等待指定的毫秒数,然后执行指定的函数,并在每个给定的时间间隔内继续执行该函数。
setTimeout()方法会等待指定的毫秒数,然后执行指定的函数。
我都试过了。然而,这不是我需要的。
我想要一个持续循环直到达到持续时间的函数。
有解决方法吗?谢谢!
【问题讨论】:
标签: javascript
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.
【讨论】:
您可以在没有任何 setTimeouts 或 setIntervals 的情况下执行此操作:
var t1 = new Date().getTime();
var interval = 100;
while(new Date().getTime() - t1 < interval){
// do stuff;
}
这将连续循环 100 毫秒。
【讨论】:
xdazz 的解决方案