2011-06-29 148 views
0
$('.a').bind('mouseover',function(){ 
    $('.a').addClass("b"); 
    }).bind('mouseout',function(){ 
    $('.a').removeClass("b"); 
    }); 

我要添加淡入淡出在上面的代碼,如:jQuery的addClass淡入淡出

$('.a').bind('mouseover',function(){ 
$('.a').addClass("b").fadeIn('slow'); 
}).bind('mouseout',function(){ 
$('.a').removeClass("b").fadeOut('fast'); 
}); 

但是,這並不爲我工作...試圖谷歌,但沒有任何工作。

+0

你確定它是$(「。a」)而不是$(「a」)? –

+0

噢!它是'$(「。a」)'。上面的代碼沒有淡化效果很好。 –

+0

什麼不行?沒有動畫?或者它會拋出一個錯誤? – Dogbert

回答

4

您的代碼工作作爲無缺陷但考慮:

  • fadeOut隱藏元素,你將無法再在它懸停。
  • fadeIn對已經可見的元素不會做任何事情。
+2

另外考慮綁定'mouseenter' /'mouseleave'而不是'mouseover' /'mouseout'來避免冒泡問題。 –

+0

所以你的意思是我不能通過這種方式添加動畫? –

1

首先,我認爲你的fadeOutfadeIn是錯誤的方法。

不能淡入東西mouseover,因爲事實上,你正在逐漸把它意味着它不是擺在首位可見的,因此你不能mouseover它。

假設是這種情況,並且您切換它們,則會導致第二個問題,一旦淡出,mouseout將自動啓動,因爲鼠標不再位於元素上方,因爲該元素不可見(您' ve只是淡化了它out)。

你能確認你正在尋找哪種效果嗎?可能有其他選擇。

+0

現在我明白了,現在我必須在2個不同的元素上使用它。謝謝 –

+0

沒問題,祝你好運。 – tjm