अद्यतन: 23 (मूल प्रश्न पर @joequincy टिप्पणी देखें)
दरअसल क्रोम में अब तय हो रहा है, इस तरह लगता है एक दोष। जब तक यह तय हो गई है, तो आप 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
सीएसएस बयान निकालें और जोड़ें:
border-spacing: 163px;
यह उदाहरण दुरुपयोग border-spacing
विशेषता है, क्योंकि यह जीत लिया ' ज्यादातर मामलों में आपके लेआउट को प्रभावित नहीं करते हैं।
देखें http://jsfiddle.net/hongaar/wLTLK/1/
(इस उत्तर के लिए धन्यवाद: Animate element transform rotate)
नोट: आप वैकल्पिक रूप से और jQuery का उपयोग कर सकते animate()
वाक्य रचना का एक सरल संस्करण के लिए बदलने प्लगइन बदसूरत कई css()
कॉल निकालने के (लेकिन ओवरहेड जोड़ना)। https://github.com/louisremi/jquery.transform.js
स्रोत
2012-11-05 14:11:14
मैं इसे लिनक्स पर क्रोम 21 के साथ पुन: पेश नहीं कर सकता। – Blender
दिलचस्प, बग विंडोज और ओएसएक्स पर मेरे लिए स्पष्ट प्रतीत होता है, लेकिन मेरे पास परीक्षण करने के लिए लिनक्स नहीं है। –
में यह समस्या भी है, एनीमेशन इसे पहला फ्रेम दिखाएगा और इस तरह रहता है, अगर यह एक कीफ्रेम एनीमेशन है, तो यह एनीमेशन खत्म होने पर यह आखिरी फ्रेम दिखाएगा; इसे जांचें: http://daneden.me/animate/; सभी रोशन प्रभाव काम नहीं कर रहे हैं – tom91136