2012-02-10 20 views
18

Tôi không thể tìm ra để tạo hiệu ứng marginLeft với jQuery. Tôi cần nó để trừ đi 938px mỗi lần người dùng nhấp vào một liên kết, điều này đã hoạt động tốt khi tôi đang sử dụng .css(), nhưng tôi không thể tìm ra cách làm cho nó hoạt động với .animate().Hoạt hình marginLeft với jQuery

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

Bất kỳ ai cũng có thể hiểu tại sao điều này không hiệu quả? Đây là phiên bản CSS của tôi:

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

Tôi đang sử dụng CSS3 cho hoạt ảnh nhưng cần phải làm việc với CSS trong trình duyệt cũ hơn.

Trả lời

37

Có lỗi cú pháp trong mã của bạn, khi bạn đang chuyển các tham số trong một đối tượng đến animate(), bạn nên sử dụng : không , để phân định từng thuộc tính. Hãy thử điều này:

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

Example fiddle

+3

Bạn đánh bại tôi! – peduarte

+0

Điều này cũng sẽ không hoạt động, bạn đã bỏ lỡ các dấu ngoặc kép. – ShankarSangoli

+1

Hoạt động tốt. Cảm ơn, đó là một sai lầm noob lol. – JacobTheDev

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

Thay comman (,) bằng dấu hai chấm (:).

$("#full-wrapper #full").animate({ 
    marginLeft: "-=938px" 
}, 500); 
Các vấn đề liên quan