2012-02-10 12 views
18

No puedo imaginar animar marginLeft con jQuery. Necesito que restar 938px cada vez que un usuario hace clic en un enlace, que funcionaba bien cuando estaba usando .css(), pero no puedo encontrar la manera de hacerlo funcionar con .animate().Animar marginLeft con jQuery

$("#full-wrapper #full").animate({ 
    marginLeft, -=938px 
}, 500); 

¿Alguien puede descubrir por qué esto no funciona? Esta fue mi versión de CSS:

$("#full-wrapper #full").css("marginLeft","-=938px"); 

que estaba usando CSS3 para la animación, pero necesito para que funcione en los navegadores antiguos.

Respuesta

37

Hay un error de sintaxis en su código, ya que está pasando parámetros en un objeto a animate() debe utilizar : no , para delimitar cada atributo. Prueba esto:

$("#full-wrapper #full").animate({ 
    marginLeft: '-=938px' 
}, 500); 

Example fiddle

+3

¡Me lo ganaste! – peduarte

+0

Esto tampoco funcionará, se ha perdido las comillas. – ShankarSangoli

+1

Funciona bien. Gracias, eso fue un error novato jajaja. – JacobTheDev

1
$("#full-wrapper #full").animate({ 
    marginLeft: '-=938px' 
}, 500); 
2

Reemplazar comman (,) por dos puntos (:).

$("#full-wrapper #full").animate({ 
    marginLeft: "-=938px" 
}, 500); 
Cuestiones relacionadas