暂停正在运行的setInterval函数?

时间:2011-09-10 11:13:05

标签: javascript jquery

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

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

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

1 个答案:

答案 0 :(得分:7)

最简单的方法是修改代码以引用在mouseover上设置的变量(此处为hold),并在mouseout上清除:

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

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