2012-02-21 7 views

Respuesta

6

Creo que document.getElementById('XYZ').style.WebkitTransform devolverá "rotate(360deg)" en los navegadores WebKit. Puede usar style.MozTransform para Firefox 3.1+, style.msTransform para IE9 +, style.OTransform para Opera.

Fuente: http://www.zachstronaut.com/posts/2009/02/17/animate-css-transforms-firefox-webkit.html

Para aprisionar elemento con eventos de ratón:

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

Puede ser que sea más sencillo con jQuery, pero tienes que saber sus raíces JavaScript!

+0

Funciona, gracias, pero solo con div, no con div: hover. Cualquier posibilidad de cambiar el div: estilo hover? – Heiko

+0

No sé cómo modificar el estilo del elemento ': hover' con' JavaScript', pero podría vincular los eventos '.onmouseover' y' .onmouseout' en el elemento. Ver mi respuesta actualizada. –

+0

+1 por buena respuesta - ¿No sabes cómo configurar 'transform-origin' para todos los navegadores con Javascript también, por favor ...? –

0

Vas a necesitar jQuery pero podría ser lo que buscas ....

$(document).ready(function(){ 

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


}); 

este retorno el valor como una cadena. Probablemente deberías comprobar si devuelve 360deg o todo. Coloque el div tanto para jQuery como para CSS. Para jQuery es más rápido no llamarlo y en CSS no agrega especificidad.

+0

Gracias, pero no sé nada sobre jQuery. Acabo de comenzar con Javascript básico y avanzar a AJAX ahora. ¿No hay solución con Javascript simple? – Heiko

+1

Creo que la respuesta de Remimbreton es lo que estás buscando – Maroshii

Cuestiones relacionadas