我试图让我的图像移动,当我鼠标悬停它然后让它在停止前继续移动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();
}
答案 0 :(得分:1)
您需要指定使用clearInterval
时要清除的时间间隔:
clearInterval(time);
答案 1 :(得分:0)
clearInterval()接受1个参数 - 与要清除的计时器对应的intervalID。
intervalID
您要取消的重复操作的标识符。此ID由相应的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);
}
}
}
1 <子> https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/clearInterval 子>