ボタンをクリックすると、アニメーションを取得するdomにいくつかのhtmlを追加します。ボタンをもう一度押すと、htmlがdomに追加され、アニメーション化されます。私の問題は、ボタンを押すとアニメーションが表示されます。私は一度だけアニメーションを取得したい、これは可能なクラスを追加し、削除するためにJavaScriptを使用せずにですか?なぜ新しい要素をアニメーションで追加すると、CSSアニメーションが再開し続けるのですか?
.additional-text{
animation:fadein 4s;
}
@keyframes fadein {
from {
opacity: 0;
}
to {
opacity: 1
}
}
追加されるDivには、追加テキストクラスがあります。あなたは、どの再レンダリングを、あなたは文字列にDOMのセクション全体を変換する意味DOMを更新し、それに別のDOM文字列を追加し、その後、戻って変換してレンダリングするinnerHTML
を使用しているので、
https://jsfiddle.net/t7ykv86r/
私は、全体のdivを書き換えるので、それが起こると思います。あなたが何かを追加するとき、Javascriptはその下に新しい要素を "置く"だけではありません。これはDOM内で完全に書き換えられ、ブラウザを「新しい」要素とみなします。 – Optiroot