クラッシュはどういう意味ですか?アニメーションが次のステップをトリガするのを完了し、display:none
またはvisibility:hidden
のいずれかを使用して要素を非表示にしているときに、コールバックを使用していると思います。
この場合、アニメーションが行われていないときにアニメコールバックが起動しないという問題があります。コールバックは、遷移が発生した場合にのみ起動するwebkitTransitionEnd関数に基づいています。これらの遷移は、A)可視性のようなブール値プロパティ、およびB)完全に隠され、レンダリングされていないオブジェクトに対して実際には起こらない。
これを克服する最も簡単な方法は、opacity: 0
を使用して画像を消したり、他のすべての要素よりも下になるようにZ-インデックスを変更したりして、画像をレンダリングから削除しないことです。通常、私がしているのは、{opacity:1, zIndex: 10000}
と{opacity:0, zIndex: -1}
の2つの状態です。この方法では、オブジェクトが完全にフェードアウトすると、他の要素をブロックせず、スムーズにフェードします。 (zIndexは-1から1までが非常に低い不透明度で発生します)