2011-06-14 61 views
2

爲什麼動畫會在執行前等待fadeIn完成,請問有誰能爲我提供一些燈光?爲什麼fadeIn和animate不會同時發生?

//Price Navigation FadeIn 

$('#header-base > ul').hide().css({'top':'50px'}); 

$('#header-base > ul').fadeIn(500); 
$('#header-base > ul').animate({'top':'0px'}); 

我希望fadeIn和animate同時發生。

回答

4

問題是動畫會自動放入效果隊列中。您可以通過提供queue設置改變這一點:

$('#header-base > ul').animate({top: '0px'}, {queue: false}); 

animate API

+0

耶,謝謝,必須記住! – Jai 2011-06-14 22:50:35

0

不知道爲什麼他們沒有在同一時間發生,但速戰速決是隻

  1. 設置元素的不透明度爲0
  2. 顯示元素
  3. 添加淡入不透明度您的動畫功能...

也許像...

$('#header-base > ul').css({'top':'50px', 'opacity':'0'}); 
$('#header-base > ul').animate({top:'0px', opacity: 100}, 500); 
+0

但不會在舊版瀏覽器中存在不支持不透明的問題,特別是ie? – Jai 2011-06-14 22:49:04

+0

@jai我想這可能是。儘管如此,我相信寂寞的日子卻發現了真正的問題。 – 2011-06-14 22:50:33