2010-04-16 67 views
4

完全消失只是一個快速的一個:的jQuery 2在同一時間

我注意到有淡出的差異取決於這個是否爲目標。這是我的結構。

我的頁面上有數據行,每行有兩個圖標。一個是該行的更新圖標,一個是該行的刪除圖標。當用戶單擊特定行的更新圖標時,我希望更新和刪除圖標都消失。因此,爲了褪色用戶點擊的東西(更新按鈕)及其相應的刪除按鈕,我用的...

$(this).next().add(this).fadeOut('slow'); 

...它的工作原理,但兩個元素不褪色處同一時間。 這個先淡出(這是更新圖標),然後這個下一個淡出(刪除圖標)。但如果我按名稱指定這兩個元素...

$('#updS2, #delS2').fadeOut('slow'); 

然後它們一起褪色。爲什麼不同?

週五漫不經心的道歉。

==== ====編輯

也注意到使用andSelf延遲:

$(this).next().andSelf().fadeOut('slow'); 
+0

當你說「然後」淡出,你的意思是這個'完成淡出,然後下一個淡出開始,或者他們有點偏移,只是不完全同步? – 2010-04-16 10:32:22

回答

2

OK,我發現了什麼問題了。之前有一個fadeTo命令,該命令在同一事件處理程序中的頁面上的所有圖標上執行。我將我的代碼移到了fadeTo的回調中,現在它可以工作。應該先檢查一下。我現在將爬回我的岩石下...

所以這裏是我使用的代碼。我所有的圖標都有一類「動作」。我想將頁面上的所有圖標與用戶點擊的行上的所有圖標變暗 - 我希望這些圖標完全消失,並在一個單元中一起消失。這工作。

$('.action').click(function() { 
    var me = $(this); 
    $('.action').not(this).fadeTo('slow', 0.2, function() { 
     $(me).next().add(me).fadeOut('slow'); 
    }).unbind('click'); 
)}; 

我不得不用我,因爲如果我用這它淡出,我想所有圖標並非僅此二人。可能是一個更好的方法來做到這一點,但我想我會試着回答這個問題,即使答案是「我首先得到了錯誤」。對不起所有:S