UPDATE:
(元の質問に@joequincyのコメントを参照してください)クローム23に今固定されるようだ確かに、これはのように思えますバグ。それが修正されるまで、あなたはこのようなjQueryのanimate()
機能を回避することができます。
$(function() {
var rotation = 163;
$('body').on('click', function() {
rotation = (rotation == 163) ? 198 : 163;
$('#wheel').animate({
borderSpacing: rotation
}, {
step: function(now, fx) {
$(this).css('-webkit-transform', 'rotate(' + now + 'deg)');
$(this).css('-moz-transform', 'rotate(' + now + 'deg)');
$(this).css('-ms-transform', 'rotate(' + now + 'deg)');
$(this).css('-o-transform', 'rotate(' + now + 'deg)');
$(this).css('transform', 'rotate(' + now + 'deg)');
}
});
});
});
transition
CSS文を削除し、追加します。
border-spacing: 163px;
この例を、それが勝ったため、「、border-spacing
属性を悪用ほとんどの場合レイアウトに影響しません。
http://jsfiddle.net/hongaar/wLTLK/1/
(この回答に感謝:Animate element transform rotate)を参照してください
NOTE:オプションでjQueryの醜い複数css()
呼び出しを削除するプラグインを変換し、animate()
構文の簡単なバージョンのために使用することができますが(しかし、オーバーヘッドを追加する)。 https://github.com/louisremi/jquery.transform.js
LinuxのChrome 21ではこれを再現できません。 – Blender
興味深いことに、バグはWindowsとOSXで明らかですが、テストするLinuxはありません。 –
この問題もあります。アニメーションは最初のフレームを表示し、そのようにとどまります。キーフレームアニメーションの場合、アニメーションが終了すると最後のフレームが表示されます。これをチェックしてください:http://daneden.me/animate/;すべてのROTATIONエフェクトが動作していません – tom91136