2012-06-26 22 views
7

Estoy tratando de hacer que una imagen gire en su lugar con cada clic (la imagen es una perilla de TV antigua). No puedo hacer que funcione a pesar de mis mejores esfuerzos.Cómo rotar la imagen con jQuery?

El código es a continuación:

var value = 0 
$("#img").rotate({ 
bind: 
{ 
    click: function(){ 
     value +=90; 
     $(this).rotate({ animateTo:value}) 
    } 
} 

});

+0

¡Hecho! Lo siento, soy nuevo aquí, así que tardó un segundo. Gracias de nuevo por todo =) – gfy

+0

Gracias. Además, una vez que llegas a 15 repeticiones (creo que ese es el nivel) es cuando puedes votar, lo que significa "Esta respuesta es útil". ¡Aclamaciones! – arttronics

Respuesta

12

estoy proporcionando un jsFiddle que causa el div para girar después de cada clic del ratón.

Esencialmente, esto es de Ejemplo 5 de la jqueryrotate.js plugin.

Referencia: jsFiddle

+0

Gracias por toda su ayuda. ¡Muy apreciado! – gfy

+0

Para ser sincero, todavía no funciona (pero todavía aprecio la ayuda). No sé lo que estoy haciendo mal o dejando de lado? Incluso tengo la "Versión estable actual de jQueryRotate (jsRotate) v.2.2" @arttronics, estás en lo cierto. Es ese el ejemplo [http://code.google.com/p/jqueryrotate/wiki/Examples#Example_5]. Gracias de nuevo por cualquier ayuda. – gfy

+0

@ arttronics- ¡funciona! pero, en lugar de que la imagen gire en su lugar (como el ejemplo en jsFiddle), sigue una ruta circular más grande, como el radio alrededor de un reloj. No sé por qué. Usé el código exacto que se le dio. ¿Algunas ideas? – gfy

3

Hay un parche de jQuery, que le permite hacer algo como esto: http://www.zachstronaut.com/posts/2009/08/07/jquery-animate-css-rotate-scale.html

$('#img').click(function(){ 
    $(this).animate({rotate: '+=10deg'}, 0); 
}); 

O este plugin: http://code.google.com/p/jqueryrotate/ que permiten cosas como:

$("#img").rotate({ 
    bind: { 
     click: function() { 
      $(this).rotate({ 
       animateTo: (parseInt($(this).getRotateAngle()) + 10), 
       easing: $.easing.easeInOutExpo 
      }) 
     } 
    } 
});​ 

(http://jsfiddle.net/mFY22/3/)

1

Aquí hay un ejemplo rápido usando un plugin jquery llamado jqueryrotate

See the jsfiddle here.

+0

@arttronics Publiqué una actualización y ahora gira con cada clic, espero que lo reconsideres;) No tuve mucho tiempo cuando publiqué, era solo una maqueta rápida ... – Trufa

+0

¡Pero por supuesto! ** + 1 ** para trabajar jsFiddle. – arttronics

+0

@arttronics ahora estamos hablando jaja gracias, ¡debo admitir que fui un poco vago con eso! – Trufa

Cuestiones relacionadas