停止并重置滑块设置间隔

时间:2016-08-20 15:21:10

标签: javascript jquery setinterval

我搜索过不同的帖子,但仍然无法理解该怎么做。

这是我的滑块的setInterval代码。由于它是滑块,因此间隔从页面加载开始。 一旦我鼠标移动间隔速度更快,这意味着我有两个在我假设的同时进行,但是我不确定如何在mouseenter上顺利地停止它并在同一时间再次进行老鼠的节奏。

var interval = setInterval(slideInterval, 4500);

$('.main-container').on('mouseenter', function(){
    clearInterval(interval);

});
, $('.main-container').on('mouseleave', function() {
    setInterval(slideInterval, 4500);
});

1 个答案:

答案 0 :(得分:0)

因为当你离开元素时,你创建了一个没有var分配的新区间,以便下次清除它。

并且它将在相同的DOM元素上产生越来越多的间隔。下面是固定代码:



var A = document,
    B = window,
    a = 0,
    b = function(c){return A.getElementsByTagName(c)[0]},
    d = setInterval(function(){b('div').innerHTML = ++a;}, 1000);
b('div').onmouseover = function(){clearInterval(d);}
b('div').onmouseleave = function (){d = setInterval(function(){
  b('div').innerHTML = ++a;
}, 1000);}

div{width:500px;height:150px;border:1px solid black;}

<div></div>
&#13;
&#13;
&#13;

我在没有jquery的情况下使用javascript进行了编译