CSS遷移をバイパスして、プロパティをすぐに変更したい。変更前に設定
しtransition-duration
てから、元の値に戻そうとしました。0s
transition-duration
$('div').css('width', '200px').delay(1000).queue(function() {
$(this).css({
transitionDuration: '0s',
msTransitionDuration: '0s',
mozTransitionDuration: '0s',
webkitTransitionDuration: '0s',
oTransitionDuration:'0s'
}).css('width', '10px').css({
transitionDuration: '2s',
msTransitionDuration: '2s',
mozTransitionDuration: '2s',
webkitTransitionDuration: '2s',
oTransitionDuration:'2s'
})
})
フィドル
これは明らかに機能しません。
私は、仕様がこのためのその動作を定義していないことを理解しています:
この仕様では、計算値がいつ変更されるかを定義していないため、計算値への変更が同時に行われると見なされるため、遷移する可能性のある変更を行った後、遷移プロパティを少し変更すると、次のような動作が発生する可能性があることに注意してください。一部の実装では変更が同時に行われると見なされる場合がありますが、他の実装では考慮されない場合があるため、実装によって異なります。
これを行う簡単な方法はありますか?
注:私が変更しているプロパティはtransform
そうなので.animate()
、オプションではありません。