jQuery ベースの CSS プロパティの変更後に jQuery を介して適用された CSS3 トランジション ルールが、実際にこのプロパティの変更をアニメーション化するという事実に驚いています。http://jsfiddle.net/zwatf/3/をご覧ください。
最初に、div は 2 つのクラスによってスタイル設定され、これら 2 つのクラスのデフォルトの CSS プロパティにより特定の高さ (200px) を持ちます。次に、1 つのクラスを削除して、jQuery で高さを変更します。
$('.container').removeClass('active');
これにより、高さが 200px から 15px に減少します。
その後、クラスの追加によってコンテナに遷移ルールが適用されます。
$('.container').addClass('all-transition');
起こっていることは、高さの減少がアニメーション化されることです (少なくとも Firefox と Chrome では)。私の世界では、命令の順序に何らかの意味がある場合、これは発生しないはずです。
この動作は非常にうまく説明できると思います。なぜそれが起こっているのですか?どうすれば防ぐことができますか?
これは私が達成したいことです:
- jQuery でデフォルト スタイルを変更します (CSS3 トランジションではアニメーション化されません!)
- jQueryで遷移ルールを適用する
- jQuery でプロパティを変更する (CSS3 トランジションによるアニメーション)
(1) と (2) はできるだけ早く行われる必要があるため、恣意的な遅延で作業するのは好きではありません。