如何停止和启动setInterval
?
假设我有一个textarea
. 我想停止setInterval
焦点并重新setInterval
开始模糊(使用 jQuery)。
如何停止和启动setInterval
?
假设我有一个textarea
. 我想停止setInterval
焦点并重新setInterval
开始模糊(使用 jQuery)。
您必须在启动时存储间隔的计时器 id,稍后您将使用此值来停止它,使用以下clearInterval
函数:
$(function () {
var timerId = 0;
$('textarea').focus(function () {
timerId = setInterval(function () {
// interval function body
}, 1000);
});
$('textarea').blur(function () {
clearInterval(timerId);
});
});
这是基于CMS的回答。问题要求计时器在模糊处重新启动并在焦点处停止,所以我将它移动了一点:
$(function () {
var timerId = 0;
$('textarea').focus(function () {
clearInterval(timerId);
});
$('textarea').blur(function () {
timerId = setInterval(function () {
//some code here
}, 1000);
});
});
将返回值存储setInterval
在一个变量中,稍后使用它来清除区间。
var timer = null;
$("textarea").blur(function(){
timer = window.setInterval(function(){ ... whatever ... }, 2000);
}).focus(function(){
if(timer){
window.clearInterval(timer);
timer = null
}
});
setInterval 返回一个 id,您可以使用它来取消间隔 clearInterval()