2011-05-08 11 views
5

Hice un script simple en jQuery que toma una imagen y la rota lentamente. Link to exampleProblema de sangrado del límite del radio del Webkit al usar -webkit-transform

 deg = 0; 
    derp = false; 
    function callRotate(){ 
     if(!derp){ 
     setInterval(rotate, 50); 
     } 
    } 
    function rotate(){ 
     $("#rotate_me > img").css({"-webkit-transform":"rotate("+ deg +"deg)", "-moz-transform":"rotate("+ deg +"deg)"}); 
    deg+=.2; 
    } 
    callRotate(); 

he decidido poner una frontera de radio en el div igual a 1/2 de la altura del div para que la imagen se vea como un círculo. La rotación se ve bien en Firefox 4.0.1, pero cuando lo probé en Chrome, la imagen sangra sobre el radio del borde tan pronto como comienza la rotación. ¿Alguien sabe de una manera de evitar que la imagen se desangre?

+1

En lugar de pasar una cadena a '' setTimeout' y setInterval', debe pasar una función. https://developer.mozilla.org/en/window.setInterval –

+0

gracias, Matt. He actualizado el código :) –

+1

no es necesario crear un cierre adicional. Puede usar 'setInterval (rotar, 50)' en su lugar. – eyelidlessness

Respuesta

2

Debe hacer que la imagen sea el fondo del div en CSS, luego gire el div.

0

Puede dar border-radius a img, pero no funcionará en Opera (no funciona de todos modos).

Cuestiones relacionadas