GÜNCELLEME: Bu gibi görünüyor, 23. (orijinal soru üzerine @joequincy yoruma bakın)
Nitekim Chrome'da artık sabit gibi görünüyor bir böcek.
$(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 ifadeleri çıkarın ve ekleyin:
border-spacing: 163px;
Bu örnek border-spacing
niteliğini kötüye kullanan o kazandığından beri sabit edilene kadar, böyle jQuery animate()
fonksiyonu ile çalışabilirsiniz Çoğu durumda düzeninizi etkilemez.
http://jsfiddle.net/hongaar/wLTLK/1/ bakınız (bu cevap sayesinde: Animate element transform rotate)
NOT: İsteğe bağlı olarak çirkin birden css()
aramaları kaldırmak için eklenti dönüşümü jQuery kullanmak ve animate()
sözdizimi daha basit bir versiyonu için olabilir (ama ek yükü ekleyerek). Bkz. https://github.com/louisremi/jquery.transform.js
Bunu Linux'ta Chrome 21 ile yeniden oluşturamıyorum. – Blender
İlginç, hata Windows ve OSX üzerinde benim için belirgin görünüyor, ancak test etmek için Linux'um yok. –
da bu sorunu yaşıyor, animasyon ilk çerçevesini gösterecek ve böyle kalıyor, eğer bir animasyon animasyonu ise, animasyon bittiğinde son karesini gösterecektir; kontrol edin: http://daneden.me/animate/; tüm ROTATION efektleri çalışmıyor – tom91136