2013-03-01 65 views
0

我試圖讓一組方形div(「.block」)淡出,當一個被點擊時,被一個更大的div(「#container」)取代,它儘快淡入他們淡出。這工作得很好:jQuery過早褪色

$('.block').animate({opacity:0},400,'swing',function(){ $('#container').fadeIn();}); 

我使用「動畫」這裏,是因爲我不想被塊所佔用時,他們淡出(如果我用淡出這會發生)崩潰的空間。

'#container'div有一個關閉按鈕,點擊時應該淡出容器並將塊重新淡入。問題在於:當點擊關閉按鈕時,容器會淡出,但新塊會非常突然出現,就好像它們並未等待容器先關閉一樣。代碼:

$('#container').fadeOut(400,function(){ $('.block').animate({opacity:100},400,'swing');}); 

This question建議增加延遲 - 對我來說這一切確實是淡出的容器,然後等待一秒鐘,然後迅速(過快)把塊回來。

任何想法,爲什麼這不工作非常讚賞。

+1

我很驚訝,你說你的第一線工作的 - 你在回調函數語法錯誤。代碼高亮表示它。您在選擇器的開頭使用單引號,在選擇器的末尾使用雙引號。 – 2013-03-01 13:42:19

+0

發現很好,但剛剛發生在我的轉錄中(我爲這個問題稍微編輯了代碼)。我會編輯我的問題來修改錯誤。 – GluePear 2013-03-01 13:44:50

+2

順便說一句,CSS的不透明度接受值從0到1 – 2013-03-01 13:46:57

回答

0

CSS不透明度值接受從0到1

$('#container').click(function() { 
    $(this).fadeOut(400, function() { 
     $('.block').animate({ 
      opacity: 1 //was 100 
     }, 400, 'swing'); 
    }); 
}); 

http://jsfiddle.net/WEhCc/1/

+0

謝謝佩德羅,它修復了它。 – GluePear 2013-03-01 13:59:05

+0

不客氣,祝你好運 – 2013-03-01 14:01:12