我搜索过不同的帖子,但仍然无法理解该怎么做。
这是我的滑块的setInterval代码。由于它是滑块,因此间隔从页面加载开始。 一旦我鼠标移动间隔速度更快,这意味着我有两个在我假设的同时进行,但是我不确定如何在mouseenter上顺利地停止它并在同一时间再次进行老鼠的节奏。
var interval = setInterval(slideInterval, 4500);
$('.main-container').on('mouseenter', function(){
clearInterval(interval);
});
, $('.main-container').on('mouseleave', function() {
setInterval(slideInterval, 4500);
});
答案 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;
我在没有jquery的情况下使用javascript进行了编译