2011-07-20 33 views
6

Tôi đang sử dụng hàm animate() để thay đổi vị trí nền của nút khi di chuột, vấn đề là thay vì 'làm động' nó chỉ đợi khoảng thời gian (500) và bung tới vị trí nền mới - không có chuyển đổi suôn sẻ.jQuery animate, không hoạt hình

$('.confirm').hover(function() { 
    $(this).animate({backgroundPosition: '0, -40px'}); 
}, function() { 
    $(this).animate({backgroundPosition: '0, 0'}); 
}); 

Đó là JS tôi đang sử dụng. Bất kỳ ý tưởng nào tại sao nó không chuyển đổi suôn sẻ? Nó hoạt động như một thời gian chờ. Tôi đã xác định cả jQuery và UI.

Cảm ơn!

+0

chạy này trên '$ .animate (this)();', 'console.log ($ (this)); 'cái gì' $ (this) 'trả về? – Seth

+0

[] – dzm

Trả lời

-1

Hãy thử dùng các hình ảnh động phần ra khỏi callback. Và gọi nó không đồng bộ, nhưng với .delay (500) trước nó.

+1

Chính xác điều đó được cho là giúp đỡ như thế nào? – Ivan

+1

@Drake luôn là phương pháp hay để hỗ trợ đối số/câu trả lời/đề xuất của bạn với một đoạn mã/đoạn mã để nó rõ ràng cho mọi người khác ... – Rafay

0

Vâng, tôi không thể quản lý để có được nó để làm việc mà không có một plugin, nhưng tin tốt là có một. Bạn có thể thử http://www.protofunc.com/scripts/jquery/backgroundPosition/

chỉnh sửa .... chuột ... xin lỗi ... chỉ thấy đó là đã được đăng XD