我有4个在setInterval(tscrolls)上运行的函数,这些函数每加载文档就会每隔几秒钟对div的顶部位置进行动画处理。

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


有没有办法在mouseenter或悬停时暂停它?

最佳答案

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

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


这种方法将为您提供大部分帮助,如果您想实现特定的行为,则可以对其进行调整。

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

10-09 19:57