2011-08-19 173 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()或不。可能你已經嘗試過了,我不知道,因爲它似乎是一個非常明顯的解決方案(如果這是您真正需要的解決方案)。