如何在我的场景中正确清除间隔?

时间:2015-04-18 16:28:05

标签: javascript jquery html css

Demo

    $(".moving_container").mouseenter(
        function(){
             clearInterval(timer);
        }
    ).mouseleave(function(){
             timer = getInterval(slideWidth,slideHeight,slideLength)
    });  

我只是想创建一个滑块。当我的光标位于我的滑块顶部时,我想停止我的动画,并且当光标离开滑块时应该恢复。

但它无法正常工作。

制作步骤:       调整屏幕大小并将鼠标悬停在其上。       将光标移出滑块。

Demo

如何正确清除间隔?

1 个答案:

答案 0 :(得分:1)

代码中的主要问题是,每个窗口调整大小时都会添加mouseentermouseleave个事件。我建议您组织代码,以便将事件附加一次。这需要重组您的代码。

然而,快速解决方案是在重新附加事件之前分离事件:

$(".moving_container").off('mouseenter').off('mouseleave');

JSFiddle

更好的解决方案是完全重写:JSFiddle