jQuery を使用してブロック レベルの要素をアニメーション化しようとしています。でスタイル設定された要素を含むページが読み込まれますdisplay: none
。slideDown
透明な状態でfadeIn
、コールバックを使用するコンテンツが呼び出されるslideDown
前に可視性が完全に設定されているように見えるため、アニメーション中にコンテンツが表示されます。fadeIn
slideDown
これを達成する方法を知っている人はいますか?
jQuery を使用してブロック レベルの要素をアニメーション化しようとしています。でスタイル設定された要素を含むページが読み込まれますdisplay: none
。slideDown
透明な状態でfadeIn
、コールバックを使用するコンテンツが呼び出されるslideDown
前に可視性が完全に設定されているように見えるため、アニメーション中にコンテンツが表示されます。fadeIn
slideDown
これを達成する方法を知っている人はいますか?
コードで考えられるいくつかの問題: 最初にコンテンツも非表示に設定していますか? fadeIn
コールバック中に電話していslideDown
ますか?
fadeIn
これは、HTML/コードの例です。slideDown
$('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>
li
aに aを追加する必要がul
あり、slideDown
最初に a を追加し、次にfadeIn
.
以下は私のために働いた。最初.hide()
にコンテンツを取得し、次に不透明度を 0 に設定し、次にコンテンツを追加してslideDown()
から、不透明度をアニメーション化して 1 に戻す必要がありました。
以下のコードでは、"content" はli
、#ListItems はul
$(content).hide().css("opacity", 0).appendTo("#ListItems").slideDown(500, function () { $(this).animate({ "opacity": 1 }, { queue: false, duration: 500 }); });
どうですか:
$('#hiddenElement').css("opacity", 0).slideDown().animate({opacity:1})
あなたの説明は、先日対処しなければならなかったこの問題のバリエーションのように聞こえます。
これは IE でのみ発生し、quirks モードでレンダリングしている場合にのみ発生します。したがって、簡単な解決策は、標準モードに切り替えることです。IE を標準モードでレンダリングするdoctypes の表をここで見つけることができます。
しかし、それがオプションではない私と同じ状況にある場合は、ここで見つけることができる jQuery ライブラリにパッチを適用できます。