2008-12-05 31 views
2

我想使用jQuery爲塊級元素設置動畫效果。該頁面加載與display: none風格的元素。 Id同樣喜歡它slideDown透明,然後fadeIn使用回調的內容,但slideDown似乎設置可見性在調用fadeIn之前已滿,導致內容在slideDown動畫中可見。如何在保持jQuery透明度的同時滑動?

有誰知道一種方法來完成這個?

+0

你能否解釋一下什麼是滑下來而透明?動畫將不會被看到,所以爲什麼動畫 – 2008-12-05 00:58:25

+0

我猜他希望在顯示元素之前拍攝垂直空間 – orip 2008-12-05 01:04:24

+0

沒錯 - 空間被製作出來然後內容出現 – Brendan 2008-12-05 15:35:40

回答

2

幾個可能的問題與您的代碼:你設置的內容在一開始隱藏呢?在slideDown回撥期間您撥打fadeIn嗎?

這裏的一些例子HTML /代碼,將fadeInslideDown

$('div').hide(); // make sure you hide both container/content 

$('#container').slideDown('slow', function() { 
    $('#content').fadeIn('slow'); // fade in of content happens after slidedown 
}); 

HTML後:

<div id="container"> 
    <div id="content">stuff</div> 
</div> 
0

如何:

$('#hiddenElement').css("opacity", 0).slideDown().animate({opacity:1}) 
0

你的描述聽起來像this問題的變化,我不得不對付對方天。

它只發生在IE瀏覽器,只有當你在怪癖模式渲染。所以簡單的解決方案是切換到標準模式。您可以找到一個doctypes表格here,它使IE在標準模式下呈現。

但是,如果你在同樣的情況我在哪裏,那不是一個選項,那麼你可以申請一個補丁,你jQuery庫,你可以找到here

0

我需要添加一個liul,並希望它slideDown第一,然後fadeIn

以下爲我工作。我不得不先.hide()的內容,然後設置不透明度爲0,則附加的內容,然後slideDown(),然後進行動畫的不透明度回到1

在下面的代碼,「內容」是li,#ListItems是ul

$(content).hide().css("opacity", 0).appendTo("#ListItems").slideDown(500, function() { $(this).animate({ "opacity": 1 }, { queue: false, duration: 500 }); }); 
相關問題