How to stop "setInterval" [duplicate] How to stop "setInterval" [duplicate] javascript javascript

How to stop "setInterval" [duplicate]


You have to store the timer id of the interval when you start it, you will use this value later to stop it, using the clearInterval function:

$(function () {  var timerId = 0;  $('textarea').focus(function () {    timerId = setInterval(function () {      // interval function body    }, 1000);  });  $('textarea').blur(function () {    clearInterval(timerId);  });});


This is based on CMS's answer. The question asked for the timer to be restarted on the blur and stopped on the focus, so I moved it around a little:

$(function () {  var timerId = 0;  $('textarea').focus(function () {    clearInterval(timerId);  });  $('textarea').blur(function () {    timerId = setInterval(function () {     //some code here     }, 1000);  });});


Store the return of setInterval in a variable, and use it later to clear the interval.

var timer = null;$("textarea").blur(function(){    timer = window.setInterval(function(){ ... whatever ... }, 2000);}).focus(function(){    if(timer){       window.clearInterval(timer);       timer = null    }});