2012-08-02 18 views
14

Bu, en son Chrome (21.0.1180.57) sürümünde bir hata olduğunu düşünüyorum, ancak burada yalnızca iki kez denetlemeye yollayacağımı düşündüm.Krom 21 Döndürme sırasında ölçekleme elemanları

Bir öğenin dönüşünü javascript kullanarak ve dönüşü canlandırmak için webkit geçişlerini kullanarak değiştiriyorum. Bazen, başlangıç ​​ve bitiş rotasyonuna bağlı olarak, eleman rotasyonla birlikte rastgele ölçeklenir. Burada bir demo yaptım: http://jsfiddle.net/XCwUQ/ (vücudu tıklayın).

Bunun neden olduğunu bilen var mı?

Alkış,

Hıristiyan

+0

Bunu Linux'ta Chrome 21 ile yeniden oluşturamıyorum. – Blender

+0

İlginç, hata Windows ve OSX üzerinde benim için belirgin görünüyor, ancak test etmek için Linux'um yok. –

+0

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

cevap

1

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

+0

@Christian Varga - hala senin hatan değil, ama şimdi bunun hakkında bir şeyler yapabilirsin!:) –

+0

Ayrıntılı cevap için teşekkürler, ayrıca en son Chrome'u onayladığını doğrulayabiliriz. Yani şimdi sorunu ele almak için 2 yolumuz var :) –

İlgili konular