如何停止嵌套在函数中的setInterval和该函数之外的clearInterval
How to stop a setInterval nested in a function with a clearInterval outside this function?
我很难弄清楚如何通过使用位于该函数外部的clearInterval来阻止嵌套函数中调用的Setinterval
Setinterval在DOM的第0层声明(这样说对吗?)它不能嵌套在函数中。
function interval()
{
setInterval(function calcRealPos(){
console.log("realPos="+realPos)
realPos+=10;
},500);
}
函数interval()然后在函数中调用:
function move(distance)
{
// Movement using translate
if (distance==1933.67)
{
interval();
}
}
我想清除间隔每当有人按下'D'。清除间隔在另一个函数中,该函数也没有嵌套在任何其他函数中:
function releasebtn(event)
{
var unpressBtn = event.keyCode;
if(unpressBtn==68)
{
clearInterval(interval());
}
}
document.addEventListener('keypress', pushbtn);
document.addEventListener('keyup', releasebtn);
谢谢!
clearInterval
接受setInterval
区间的ID。你需要将interval ID存储在一个变量中,然后像这样传递给clearInterval
:
function calcRealPos() { console.log('foo'); }
// Set the interval and store its ID
intId = setInterval(calcRealPos, 500);
// Later, when you want to clear the interval, use this
clearInterval(intId);
为了停止setInterval,您需要为它分配一个引用(在本例中是一个全局变量)。这是为了确保javascript知道要停止/清除哪个setInterval。
你的setInterval函数可以很容易地重写来显示这个
function interval()
{
myinterval=setInterval(function calcRealPos(){
console.log("realPos="+realPos)
realPos+=10;
},500);
}
现在在你的releasetn函数中,你可以像
那样停止它function releasebtn(event)
{
var unpressBtn = event.keyCode;
if(unpressBtn==68)
{
clearInterval(myinterval);
}
}
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 将函数的上下文应用于javascript变量
- Javascript-从函数中使用clearInterval后重新激活setInterval
- 如何使 clearInterval 函数工作
- 如何从一个函数调用 clearInterval() 方法以停止另一个函数中的 setInterval() 方法
- 如何正确使用 setInterval 和 clearInterval 在两个不同的函数之间切换
- Coffeescription:setInterval、clearInterval和匿名函数
- 函数中的Javascript clearInterval
- 为什么clearInterval()函数不停止javascript定时器
- 通过在参数中传递停止函数来clearInterval
- 什么是错误的setInterval()和clearInterval()在这个javascript函数?clearInte
- 在函数中使用clearInterval来清除另一个函数中的setInterval
- setInterval函数即使使用clearInterval(计时器)也不会停止
- ClearInterval函数在我的情况下不起作用
- setInterval和clearInterval在同一个函数中
- clearInterval函数不能与backbone.js一起工作
- 如何停止嵌套在函数中的setInterval和该函数之外的clearInterval
- 如何测试clearInterval函数是真还是假
- javascript clearInterval无法处理数组函数
- jQuery不同函数中的startInterval和clearInterval