2011-02-17 20 views
11

¡BIEN! Aquí está la situación. Tengo un complemento jQuery que está animando una imagen de fondo en mi encabezado para desplazarse constantemente de izquierda a derecha. Tengo un .png de una rueda en este encabezado. Necesito tener la rueda girando constantemente con el fondo en movimiento.Cómo rotar CONSTANTEMENTE un objeto con jquery?

CSS3- Sí, podría usar CSS3, pero algún alma pobre que utiliza Internet Explorer vería una rueda estacionaria sobre un fondo en movimiento que sería extraño.

Complementos jQuery: Esto es lo que ME GUSTARÍA usar, pero todavía tengo que encontrar uno que rotará constantemente la imagen. La mayoría solo gira en cierto ángulo cuando lo activa.

Si alguien tiene alguna idea, ¡lo agradecería!

+1

Quizás muestre algunos ejemplos de código y/o imagen. Si la compatibilidad es importante, ¿ha considerado usar un GIF animado? –

+2

¿Has pensado en usar un GIF animado para la rueda? – Lazarus

+0

Estoy especulando que la rotación de la rueda debe coincidir con el movimiento de la carretera y, por lo tanto, sería bueno tener algunas variables de JavaScript para trabajar que permitan sincronizarlas. ¿Es una buena conjetura, @KThornbloom? – MrBoJangles

Respuesta

12

Usted podría intentar esto:

http://code.google.com/p/jqueryrotate/wiki/Examples

var rotation = function(){ 
    $("#img").rotate({ 
     angle:0, 
     animateTo:360, 
     callback: rotation, 
     easing: function (x,t,b,c,d){  // t: current time, b: begInnIng value, c: change In value, d: duration 
      return c*(t/d)+b; 
     } 
    }); 
} 
rotation(); 
+0

¿cómo detendría la rotación? – dietbacon

4

No es jQuery como tal, pero si quieres hacer algo constante en JavaScript, utilice setInterval(), así:

setInterval("alert('Rotate!');", 100); 

Pero reemplazar la alerta con su código de rotación, y el intervalo es en milisegundos.

+0

¡Gracias! Parece que esa es la clave, y Sarfraz tiene ejemplos para ver con ese código. – kthornbloom

+0

Es cierto eso.Por lo que vale, su código contiene 'setInterval()'. Y es muy ingenioso. – MrBoJangles

+0

Hmm, todavía estoy un poco confundido. El método de Sarfraz solo funciona una vez que haces clic en él, y solo gira una vez, aunque el título del blog dice "rotación continua". Tal vez me estoy perdiendo algo? – kthornbloom

1

Parece que desea this answer to a related question about rotating images with jQuery ...

Pero es puramente una rueda giratoria, a continuación, un gif animado dos o tres cuadros, probablemente será más fácil, más rápido y menos intensivo de la CPU ...

+0

Gracias por la sugerencia. La razón por la que no opté por un gif animado es porque quería que la animación fuera agradable y fluida, y también que pudiera controlar la velocidad con facilidad. – kthornbloom

0

Puede utilizar el plugin jQuery para una imagen que gira como objeto 3D:

pic360 plugin

0

@dietbacon preguntó cómo detener una rotación. Como aún no puedo comentar, responderé aquí.

En this respuesta, escribí una función que hace una rotación infinita en un elemento dado y que puede ser cancelada.