【发布时间】:2014-07-13 16:32:15
【问题描述】:
window.setInterval(function(){
//do stuff
}, milisec);
有没有办法随意停止这个间隔,并从它持续的地方恢复它?比如说,代码每 5 秒运行一次。我在第 2 秒中间停止它,当恢复时,我希望它运行剩余的 3 秒,然后每 5 秒继续运行。再次。
【问题讨论】:
-
javascript 是单线程的,
setInterval语句只是指示事件循环在以毫秒(第二个参数)为单位的固定时间后执行一个函数(第一个参数)并立即返回。 -
我在考虑 clearInterval(),但不确定如何获得剩余时间,从那里恢复并让它继续。
-
把调用
setInterval时的当前时间保存下来,和你“停止”整个过程发生时的当前时间比较。 -
但是如何恢复间隔运行剩余秒数,然后恢复间隔运行初始计时器?
-
看看javascript: pause setTimeout(); ...应该很容易适应
setInterval。
标签: javascript