Javascript 暂停正在运行的setInterval函数?

Javascript 暂停正在运行的setInterval函数?,javascript,jquery,Javascript,Jquery,我在setInterval(tscrolls)上运行了4个函数,只要加载文档,每隔几秒钟就会对div的顶部位置设置动画 var intervalFunctions = [ tScroll1, tScroll2, tScroll3, tScroll4 ]; var intervalTimer = 3000; window.setInterval(function(){ intervalFunctions[intervalIndex++ % intervalFunctions.length]()

我在setInterval(tscrolls)上运行了4个函数,只要加载文档,每隔几秒钟就会对div的顶部位置设置动画

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

有没有办法在鼠标悬停或悬停时暂停此操作?

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

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

这种方法可以帮助您实现大部分功能,如果您想实现特定的行为,您可以根据自己的喜好对其进行调整。

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

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

这种方法会让你获得大部分的成功,如果你想实现特定的行为,你可以根据口味调整它。

可能重复的+1:我认为这种
hold
方法比使用
clearInterval
然后用
setInterval
重新启动好。+1:我认为这种
hold
方法比使用
clearInterval
,然后用
setInterval
重新启动它。