2012-02-21 17 views

Odpowiedz

6

Wierzę, że document.getElementById('XYZ').style.WebkitTransform zwróci "rotate(360deg)" w przeglądarkach WebKit. Możesz użyć style.MozTransform dla Firefox 3.1+, style.msTransform dla IE9 +, style.OTransform dla Opery.

Źródło: http://www.zachstronaut.com/posts/2009/02/17/animate-css-transforms-firefox-webkit.html

Aby powiązać z elementem zdarzenia myszy:

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)'; 
} 

To może być prostsze z jQuery, ale musisz znać swoje korzenie JavaScript!

+0

Działa, dzięki, ale tylko z div, a nie div: hover. Dowolna możliwość zmiany stylu div: hover? – Heiko

+0

Nie wiem, jak zmodyfikować styl ': hover' za pomocą' JavaScript', ale możesz powiązać zdarzenia '.onmouseover' i' .onmouseout' na elemencie. Zobacz moją zaktualizowaną odpowiedź. –

+0

+1 za fajną odpowiedź - Nie wiesz, jak ustawić "transform-origin" dla wszystkich przeglądarek z Javascriptem, proszę ...? –

0

Będziesz potrzebować jQuery ale może być to, czego szukasz ....

$(document).ready(function(){ 

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


}); 

ta zwraca wartość jako ciąg znaków. Prawdopodobnie powinieneś sprawdzić, czy zwróci 360deg lub całą rzecz. Upuść div zarówno dla jQuery, jak i CSS. Dla jQuery jest szybszy, niż nie wywoływanie go, aw CSS nie dodaje specyfiki.

+0

Dzięki, ale nic nie wiem o jQuery. Zaczęło się od podstawowego JavaScript i teraz przejdź do AJAX. Czy nie ma rozwiązania z prostym JavaScript? – Heiko

+1

Myślę, że odpowiedzią remimbreton jest to, czego szukasz – Maroshii

Powiązane problemy