新しく作成された dom 要素で css トランジションを使用する方法が見つかりません。
空の html ドキュメントがあるとします。
<body>
<p><a href="#" onclick="return f();">click</a></p>
</body>
私もこのcssを持っています
#id {
-moz-transition-property: opacity;
-moz-transition-duration: 5s;
opacity: 0;
}
#id.class {
opacity: 1;
}
そしてこのjs
function f() {
var a = document.createElement('a');
a.id = 'id';
a.text = ' fading in?';
document.getElementsByTagName('p')[0].appendChild(a);
// at this point I expect the span element to be with opacity=0
a.className = 'class';
// now I expect the css transition to go and "fade in" the a
return false;
}
ただし、 http://jsfiddle.net/gwxkW/1/でわかるように、要素をクリックすると瞬時に表示されます。
クラスを設定しようとすると、結果がよくtimeout()
見つかりますが、 javascriptと css エンジンの間の競合のように思えます。リッスンする特定のイベントはありますか?使ってみましたがうまくいきません。document.body.addEventListener('DOMNodeInserted', ...)
新しく作成された要素に CSS トランジションを適用するにはどうすればよいですか?