首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何停止"setInterval“

如何停止"setInterval“
EN

Stack Overflow用户
提问于 2009-12-02 15:12:42
回答 3查看 193.1K关注 0票数 112

如何停止和启动setInterval

假设我有一个textarea。我想在聚焦时停止setInterval,在模糊时重新启动setInterval (使用jQuery)。

EN

回答 3

Stack Overflow用户

发布于 2012-07-01 00:22:41

这是基于CMS的答案。这个问题要求在模糊时重新启动计时器,并在焦点上停止计时器,所以我稍微移动了一下:

代码语言:javascript
复制
$(function () {
  var timerId = 0;

  $('textarea').focus(function () {
    clearInterval(timerId);
  });

  $('textarea').blur(function () {
    timerId = setInterval(function () {
     //some code here 
    }, 1000);
  });
});
票数 29
EN

Stack Overflow用户

发布于 2009-12-02 15:17:22

setInterval的返回值存储在一个变量中,稍后用它来清除间隔。

代码语言:javascript
复制
var timer = null;
$("textarea").blur(function(){
    timer = window.setInterval(function(){ ... whatever ... }, 2000);
}).focus(function(){
    if(timer){
       window.clearInterval(timer);
       timer = null
    }
});
票数 19
EN

Stack Overflow用户

发布于 2009-12-02 15:17:58

setInterval返回一个id,您可以使用clearInterval()用它来取消间隔

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1831152

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档