2011-10-10 6 views
6

現時点では、クラスを追加するときにcss3不透明トランジションを取得しようとしています。基本的な設定は、ボタンをクリックしてからjqueryを使ってdomにdivを追加し、DOMにその要素を追加した後にクラスを追加することです。その新しいDOM要素への追加クラスは、私の移行を開始すると思われますが、そうではありません。唯一起こっていることは、要素が表示されていますが、不透明遷移が機能していないことだけです。どんな助けでも大いに感謝されます、私はフィドルへのリンクを残しています ここにfiddle link。はい私はちょうどjqueryでフェードインをすることができます知っていますが、これはおそらく他のCSSを蹴るために使用される、その他の不透明度の変更Jqueryでクラスを追加してCSS3トランジションをトリガーする

+0

クラスが事前に定義されている場合、確かにのみ動作するようには思えない...それは動的に移行を実行しません加えます。たぶんこれは解決すべきバグです。 –

+0

それは私が考えていたものですが、これはクロムやfirefox devのに気付かれていないと信じるまで見つけるのは難しいです – Lawrence

答えて

0

CSS3のトランジションは、動的に作成された要素ではまだサポートされていないと思います。私はdivをHTMLに直接配置してサンプルを修正しようとしましたが、トランジションは正常に動作しました。ブラウザーのサポートが改善されるまで、回避策としてそれを使用しなければならないかもしれません。

9

これまでにこの問題が発生しました。唯一の解決策は、DOMに新しい要素があることを通知するsetTimeoutを追加することです。これは、ゼロミリ秒にすることができ、それはまだ動作します:

$('button').live('click', function() { 
    $(this).after("<div class='fade'>This is just a test</div>") 
    setTimeout(function(){$(".fade").addClass("in");}, 0) 
}); 

http://jsfiddle.net/tfmFx/

+0

それは本当に迷惑です。ソリューションに感謝します。 – BinaryTox1n

+0

感謝します!私は一ヶ月以上の解決策を探していました!!! – neaumusic

+0

私の一日は保存されました....しかし、その非常に古い投稿:) – poddroid