好吧,在我的 imgInt 函数中,我从内部调用另一个函数“nextPhoto”。虽然当我将鼠标移出图像元素时,我想调用 imgInt,尽管我不知道如何调用它,或者是否必须将任何参数传递给它。
var imgInt = setInterval(function(){
nextPhoto("next");
}, 2000);
image.addEventListener("mouseover", function(){
clearInterval(imgInt);
this.addEventListener("onmouseout", function(){
setInterval(imgInt);
}, false);
}, false);
最佳答案
您无法通过将先前的间隔传递给 setInterval
来重新启动它。定义一个启动间隔的函数,然后调用它。
var imgInt;
function startInterval() {
imgInt = setInterval(function(){
nextPhoto("next");
}, 2000);
}
startInterval();
image.addEventListener("mouseover", function() {
clearInterval(imgInt);
});
image.addEventListener("mouseout", function() {
startInterval();
});
在另一个监听器函数中添加一个事件监听器几乎总是错误的,因为每次第一个事件发生时都会创建多个监听器。
关于javascript - 调用 SetInterval 函数表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44578345/