如何清除以 setInterval 启动的计时器?
How can I clear a timer started with setInterval?
我试图让我的图像在我将鼠标悬停在图像上时移动,然后让它在停止前保持移动 3 秒。我可以让它移动,但不能停止。有任何想法吗?这是我的代码段:
var time = setInterval(timer, 300);
onEvent("image3", "mouseover", function() {
var x = getXPosition("image3");
var y = getYPosition("image3");
while ((getXPosition("image3") = x && getYPosition("image3") = y)) {
}
});
function timer() {
setPosition("image3", randomNumber(0, 250), randomNumber(0, 250), 100, 100);
clearInterval();
}
使用clearInterval
时需要指定清除间隔:
clearInterval(time);
clearInterval()接受1个参数——要清除的定时器对应的intervalID。
intervalID
The identifier of the repeated action you want to cancel. This ID was returned by the corresponding call to setInterval(). 1
将变量 time
传递给对 clearInterval() 的调用:
clearInterval(time);
请参阅下面的演示。
var time = setInterval(timer, 300);
var startTime;
function timer() {
if (startTime === undefined) {
startTime = new Date();
} else {
diff = (new Date() - startTime) / 1000;
console.log('timer() - elapsed time: ', diff);
if (diff >= 3) {
console.log('clearing interval');
clearInterval(time);
}
}
}
1https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/clearInterval
我试图让我的图像在我将鼠标悬停在图像上时移动,然后让它在停止前保持移动 3 秒。我可以让它移动,但不能停止。有任何想法吗?这是我的代码段:
var time = setInterval(timer, 300);
onEvent("image3", "mouseover", function() {
var x = getXPosition("image3");
var y = getYPosition("image3");
while ((getXPosition("image3") = x && getYPosition("image3") = y)) {
}
});
function timer() {
setPosition("image3", randomNumber(0, 250), randomNumber(0, 250), 100, 100);
clearInterval();
}
使用clearInterval
时需要指定清除间隔:
clearInterval(time);
clearInterval()接受1个参数——要清除的定时器对应的intervalID。
intervalID
The identifier of the repeated action you want to cancel. This ID was returned by the corresponding call to setInterval(). 1
将变量 time
传递给对 clearInterval() 的调用:
clearInterval(time);
请参阅下面的演示。
var time = setInterval(timer, 300);
var startTime;
function timer() {
if (startTime === undefined) {
startTime = new Date();
} else {
diff = (new Date() - startTime) / 1000;
console.log('timer() - elapsed time: ', diff);
if (diff >= 3) {
console.log('clearing interval');
clearInterval(time);
}
}
}
1https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/clearInterval