0

我有这个片段:

$(document).ready(function(){
$(".sidebar .nav li a.animate").hover(function(){
    $(this).animate({textIndent:"133"}, "fast")
}, function(){
    $(this).animate({textIndent:"27"}, "fast")
});
});

基本上它是菜单项的动画。它可以正常工作,但是如果您将鼠标从上到下传递并多次反转,您会注意到动画仍在进行的令人讨厌的延迟。

我怎样才能防止这种情况发生?我应该在事件触发后阻止它吗?解决这个问题的最佳方法是什么?:)

代码示例表示赞赏。

4

1 回答 1

1

添加一些stop()的:

$(document).ready(function(){
    $(".sidebar .nav li a.animate").on('mouseenter mouseleave', function(e){
        $(this).stop(true,true)
               .animate({textIndent: e.type=='mouseenter' ? 133 : 27}, "fast")
    });
});
于 2012-12-14T00:42:44.687 回答