そのクラスが要素に追加されたときに1回だけ実行される特定のクラスのCSS3で定義されたアニメーションがあります。問題は、動的コンテンツを親に追加すると、アニメーションがもう一度実行されることです。毎回、コンテンツが追加され、アニメーションがトリガーされます。アニメーション化されるリスト要素は自動的に追加されul
、1 回アニメーション化されますが (予期される動作)、アニメーション化できない要素は JS イベントに追加されます。
HTML:
<ul>
<li class="m"><div class="animable"></div></li>
<li class="m"><div class="animable animateNow"></div></li>
</ul>
JS イベントが発生すると、リスト要素が動的に追加されます。
<ul>
<li class="m"><div class="animable"></div></li>
<li class="m"><div class="animable animateNow"></div></li>
<li class="m"><div class="animable"></div></li> // <- Sir! I am innocent. I am newly added by JS. IDK, what is happening :/
</ul>
追加された瞬間、アニメーション可能な div は、追加された要素ごとにもう一度アニメーションをトリガーします。
これはバグですか?どうすれば防ぐことができますか?私は純粋なJSを使用しています。
CSS:
.animable {
position:absolute;
top:0;
left:0;
right:0;
bottom:0;
width:100%;
height:100%;
background:#ecf7d2;
}
.animateNow {
opacity:0;
animation-duration: 2s;
animation-name: animTrans;
-webkit-animation-duration: 2s;
-webkit-animation-name: animTrans;
}