DOM 要素 (div1) は jquery アニメーションを実行していましたが、クリックなどの手動イベントで DOM 要素が削除されました
この場合はどうなりますか?
DOM 要素 (div1) は jquery アニメーションを実行していましたが、クリックなどの手動イベントで DOM 要素が削除されました
この場合はどうなりますか?
実際には、DOM 要素を直接削除する方法はありません。DOM から削除して ( を使用.removeChild()
)、それへの参照をクリアできます。その DOM 要素への他の参照がない場合にのみ、ガベージ コレクターはしばらくしてから実際にそれを取り除きます。
ただし、アニメーションが実行されている場合、そのアニメーションにはそれへの参照があり、ガベージコレクターが実際にアニメーションを削除するのを防ぎ、アニメーションは完了するまで続く可能性があります。DOM から削除された場合、DOM にない場合は表示されないため、アニメーションの効果は表示されなくなりますが、プロパティはまだアニメーション化されています。
アニメーションが終了し、アニメーション クロージャ参照がアニメーション キューからクリアされたためにアニメーションへの参照が解放されると、ガベージ コレクターは最終的に要素を実際に削除できるようになります。
参考までに、必要に応じて、アニメーション化された jQuery オブジェクトを呼び出し.stop(true)
て、現在のアニメーションを停止できます。