Javascript - 自动启动/停止setInterval

时间:2012-11-14 11:49:57

标签: javascript jquery html setinterval

  

可能重复:
  How to clearInterval with unknown ID?

我目前在页面标题部分的函数外部启动了一系列setIntervals(function(), time)

我现在需要从一个函数中停止并启动这些全局setIntervals。用户输入有很多问题,但我需要脚本自动完成。实际上,当最初的setInterval函数触发时,它将禁用将来的触发,直到用户确认它为止。

最好的方法是什么?

Jquery是可以接受的,甚至是优先的。

3 个答案:

答案 0 :(得分:2)

您必须将间隔分配给变量,然后使用函数clearInterval来停止它。 https://developer.mozilla.org/en-US/docs/DOM/window.clearInterval

var interval = setInterval(function(), time)
clearInterval(interval)

答案 1 :(得分:1)

我使用这样的东西:

var timers = [];

var timer = function (code, delay) {

   var id = "timer" + timers.length;

    timers.push({ id : id, ref : setInterval(code, delay)});
}

new timer(function(e) { alert("I'm first timer!");}, 1000);                 

​

答案 2 :(得分:0)

<input type="button" value="click me" onClick="disableInterval()"/>

<script type="text/javascript">
    $(document).ready(function () {
       var  intervalID = setInterval(yourFunction(), time);
  });
disableInterval = function(){   
 window.clearInterval(intervalID);
}
</script>