javascript - 暂停正在运行的 setInterval 函数?

标签 javascript jquery

我有 4 个函数在 setInterval (tscrolls) 上运行,它们会在文档加载后每隔几秒为 div 的顶部位置设置动画。

var intervalFunctions = [ tScroll1, tScroll2, tScroll3, tScroll4 ];
var intervalTimer = 3000;
window.setInterval(function(){
  intervalFunctions[intervalIndex++ % intervalFunctions.length]();
}, intervalTimer);

有没有办法在 mouseenter 或 hover 时暂停?

最佳答案

最简单的方法是修改您的代码以引用一个在鼠标悬停时设置并在鼠标移出时清除的变量(此处为 hold):

window.setInterval(function(){ 
    if(hold) {
        return;
    }
    intervalFunctions[intervalIndex++ % intervalFunctions.length](); 
}, intervalTimer); 

这种方法将帮助您完成大部分工作,如果您想实现特定的行为,您可以根据口味对其进行调整。

关于javascript - 暂停正在运行的 setInterval 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7371318/

相关文章:

javascript - jQuery html 在刷新时消失

javascript - 如何使下一个/上一个段落在 div 中可见?

javascript - 如何访问Symbol(Symbol.toStringTag)属性?

javascript - 如何将 jQuery noConflict 与 Bootstrap 和 Dojo 结合使用

javascript - 如何在 Java 中使用 GraalVM?找不到类异常

javascript - 如何使用 javascript 获取我的 css 元素的最大宽度

javascript - 如何在PHP中使用foreach只显示一次重复的数据?

javascript - Angular ng-repeat preventDefault 替代方案

javascript - JavaScript 错误处理

jquery - jquery中的反向滚动