javascript - 有效地使用 setInterval/clearInterval

标签 javascript jquery setinterval

我正在为我已经开发的应用程序添加新功能。我正在尝试添加一个自动渲染功能,它会在一定时间间隔后自动渲染屏幕的某些部分。我正在为此使用 setInterval,一切正常。

我的问题是,我应该如何为除一个事件之外的所有其他事件调用 clearInterval(intervalId) 函数。请考虑一个例子: 假设我有一些与当前屏幕相关的事件,并且我只想在“.myBtn”单击时启动我的 setInterval 并停止所有其他事件。

    var intervalId = 0;

    $(".myBtn").click(function(){
        intervalId = setInterval(function(){
          alert("execute something");
        }, 2000);  
    });

   $(".otherElm").click(function(){
      // some other stuff.
   });


   $(".otherElm1").click(function(){
      // some other stuff.
   });


   $(".otherElm2").click(function(){
      // some other stuff.
   });

对于上述情况,我只知道一种停止间隔的方法,即在每个其他事件中放置“clearInterval(intervalId)”

但是,还有其他方法吗?

希望我已经把一切都说清楚了,这样人们就可以理解我的问题了。

提前致谢

最佳答案

您的评论是对的 - 您必须将 clearInterval(IntervalId) 放入您需要停止事件的所有事件中。这样做有问题吗?

编辑:

用一个类来标识它们——比如 elm。完成后,使用 $(".elm").click(clearinterval)。

关于javascript - 有效地使用 setInterval/clearInterval,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6596440/

相关文章:

javascript - 如何从本地系统加载json文件并分配给某个变量

javascript - 检查特定标签是否被点击

javascript - 更改在发生过程中创建框的速度(与 DOM "change"事件相关)

javascript - 如何在页面/选项卡处于非事件状态时停止 setInterval 自动刷新?

javascript - jQuery if语句检查一个值是否存在

javascript - 如何使用jquery注入(inject)带有 Angular Directive(指令)的html元素?

javascript - 告诉 Symfony 的 Request 某些 ajax 请求(jquery 的 $.get(path, cb) 请求)是 "X-Requested-With"等于 "XMLHttpRequest"的请求?

javascript - 如何生成 Twitter Bootstrap 模式但保持隐藏

javascript - 移动 View 中的标题 chop

javascript - 在没有 setInterval 的情况下检测类更改