2011-08-19 86 views
1

我有一个基本的jQuery-ui addClass/removeClass动画。我遇到了经典的jQuery问题,我无法正确停止动画(因此可以通过将元素放入/关闭来一次又一次地重复)。停止jquery-ui addClass动画

演示:http://jsfiddle.net/8HDnB/2/

如果这样通过.animate()的问题是由.animate()电话前加.stop()解决。任何人有任何想法如何解决这个在这种情况下?

+1

这可能只是jquery&jqueryui版本不兼容的问题。你会注意到我发布的jsfiddle是一个_little_中断,第一个悬停不动画。演示工作正常“按预期”更新版本(这是它总是动画,而不是我发布的问题已解决) –

回答

0

这个怎么样:

$('div').hover(function(){ 
    var $this = $(this); 
    if (!$(this).hasClass('hover')) { 
     $this.addClass('hover', 500); 
    } 
}, function(){ 
    var $this = $(this); 
    if ($(this).hasClass('hover')) { 
     $this.removeClass('hover', 500); 
    } 
}); 

这似乎为我工作,当我处理的是一个元素上使用.effect()。刚刚在效果开始时添加了一个类,当效果完成时,我做了.removeClass()。然后检查是否元素.hasClass()或不。可能你已经尝试过了,我不知道,因为它似乎是一个非常明显的解决方案(如果这是您真正需要的解决方案)。