2012-02-21 8 views
5

स्थिति:जावास्क्रिप्ट के साथ छद्म-तत्व ट्रांसफॉर्म-शैली मान कैसे पुनर्प्राप्त करें?

div.xy:hover { 
    transform: all rotate(360deg); 
    -moz-transform: rotate(360deg); 
    -webkit-transform: rotate(360deg); 
    -o-transform: rotate(360deg); 
} 

प्रश्न:
मैं उससे मैं प्रदर्शित करने और इसे बदल सकते हैं पुनः प्राप्त करने की जरूरत है। पथ के साथ कुछ मदद की ज़रूरत है जो मुझे 360 तक ले जाती है।
कोई विचार?

+0

स्वीकार करें, कृपया? –

उत्तर

6

मेरा मानना ​​है कि document.getElementById('XYZ').style.WebkitTransform वेबकिट ब्राउज़र में "rotate(360deg)" वापस करेगा। आप ओपेरा के लिए IE9 +, style.OTransform के लिए फ़ायरफ़ॉक्स 3.1+, style.msTransform के लिए style.MozTransform का उपयोग कर सकते हैं।

स्रोत: http://www.zachstronaut.com/posts/2009/02/17/animate-css-transforms-firefox-webkit.html

माउस की घटनाओं के साथ तत्व के लिए बाध्य करने के लिए:

var e = document.getElementById('test') // Your div ID 

e.onmouseover = function(){ 
    var degree = 360; // Rotation on :hover 
    e.style.WebkitTransform = 'rotate(' + degree + 'deg)'; 
    e.style.MozTransform = 'rotate(' + degree + 'deg)'; 
    e.style.OTransform = 'rotate(' + degree + 'deg)'; 
    e.style.msTransform = 'rotate(' + degree + 'deg)'; 
    e.style.transform = 'rotate(' + degree + 'deg)'; 
} 
e.onmouseout = function(){ 
    var degree = 0; // Initial rotation 
    e.style.WebkitTransform = 'rotate(' + degree + 'deg)'; 
    e.style.MozTransform = 'rotate(' + degree + 'deg)'; 
    e.style.OTransform = 'rotate(' + degree + 'deg)'; 
    e.style.msTransform = 'rotate(' + degree + 'deg)'; 
    e.style.transform = 'rotate(' + degree + 'deg)'; 
} 

यह jQuery के साथ सरल हो सकता है, लेकिन आप अपने जावास्क्रिप्ट जड़ों को पता है मिल गया है!

+0

यह काम करता है, धन्यवाद, लेकिन केवल div के साथ, div के साथ नहीं: होवर। div को बदलने की कोई संभावना: होवर शैली? – Heiko

+0

मुझे 'जावास्क्रिप्ट 'के साथ तत्व': होवर' शैली को संशोधित करने का कोई तरीका नहीं पता है, लेकिन आप तत्व पर '.onmouseover' और' .onmouseout' ईवेंट को बाध्य कर सकते हैं। मेरा अद्यतन उत्तर देखें। अच्छे जवाब के लिए –

+0

+1 - क्या आप जावास्क्रिप्ट के साथ सभी ब्राउज़र के लिए 'ट्रांसफॉर्म-उत्पत्ति' सेट करने के बारे में नहीं जानते हैं, कृपया ...? –

0

आप वाला जरूरत jQuery हैं, लेकिन यह हो सकता है कि आप क्या ढूंढ रहे हैं ....

$(document).ready(function(){ 

$(".xy:hover").css("transform") 


}); 

यह एक स्ट्रिंग के रूप में मान। आपको शायद यह जांचना चाहिए कि क्या यह 360deg या पूरी चीज देता है। jQuery और CSS दोनों के लिए div ड्रॉप करें। JQuery के लिए इसे कॉल करने के लिए तेज़ नहीं है और सीएसएस में यह विशिष्टता नहीं जोड़ता है।

+0

धन्यवाद, लेकिन मुझे jQuery के बारे में कुछ नहीं पता है। बस मूल जावास्क्रिप्ट के साथ शुरू किया और अब AJAX पर आगे बढ़ें। सरल जावास्क्रिप्ट के साथ कोई समाधान नहीं है? – Heiko

+1

मुझे लगता है कि Remimbreton का जवाब वह है जिसे आप ढूंढ रहे हैं – Maroshii

संबंधित मुद्दे