javascript - 调用 SetInterval 函数表达式

标签 javascript function setinterval

好吧,在我的 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/

相关文章:

javascript - 谷歌地图 V3 在更改后使用媒体查询调整大小而不是居中

javascript - 如何为 Gatsby 提供 GraphQL 模式

c - 在 C 中使用变量表示函数

c - 在冒泡排序中得到错误的输出

javascript - MomentJS 倒计时与 diff

javascript - setInterval 在 Google Chrome 扩展程序中不起作用(仅触发一次)

Python 线程 - 如何在单独的线程中重复执行一个函数?

javascript - 将工具提示添加到 Javascript 中的下拉列表

javascript - 两个带有 ngHide 的切换元素瞬间在屏幕上闪烁

javascript - 过滤功能比较不工作javascript