2012-02-10 9 views
18

Nie mogę wymyślić animacji marginLeft z jQuery. Potrzebuję go odjąć 938px za każdym razem, gdy użytkownik kliknie na link, który działał poprawnie, gdy używałem .css(), ale nie mogę wymyślić, jak sprawić, by działało z .animate().Animowanie marginesu Brak z jQuery

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

Czy ktoś może zrozumieć, dlaczego to nie działa? To była moja wersja CSS:

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

używałem CSS3 animacji, ale trzeba, aby pracować w starszych przeglądarkach.

Odpowiedz

37

W kodzie występuje błąd składniowy, ponieważ przekazujesz parametry w obiekcie do animate() powinieneś użyć :, a nie , do ograniczenia każdego atrybutu. Spróbuj tego:

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

Example fiddle

+3

Uderzyłeś mnie! – peduarte

+0

To również nie zadziała, brakowało Ci ofert. – ShankarSangoli

+1

Działa dobrze. Dzięki, to był błąd noob lol. – JacobTheDev

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

Wymień comman (,) przez dwukropek (:).

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