Tôi đang cố gắng tạo một div
để trượt ra và khi di chuột tức là chuột vào và rời, tương ứng. Tuy nhiên, khi tôi lơ lửng vào và ra nhiều lần, các div
giữ trượt qua lại về cơ bản lên đến số lần tôi đã di chuột. Vui lòng tham khảo số jsFiddle example này.Hoạt ảnh jQuery: Dừng hoạt ảnh khi di chuột ra
Như bạn có thể đoán, tôi hy vọng sẽ dừng chân div
(tức là trượt vào) khi con chuột ở bên ngoài phần tử bất kể số lần tôi đã di chuột qua nó. Tôi nghĩ rằng có một cái gì đó còn thiếu trong sự hiểu biết của tôi về hoạt hình jQuery.
$("#state-slider").hover(function() {
$(this).animate({
left: '0'
}, 500);
}, function() {
$(this).animate({ left: "-270" }, 500);
});
Cảm ơn bạn.
Điều này hoạt động hoàn hảo. Cảm ơn bạn! Bạn có biết tại sao chúng ta cũng cần '.stop()' khi nhập chuột? Tôi biết chúng ta cần phải có nó bởi vì nếu không sẽ có một "nhảy" như trong câu trả lời của @ 3nigma; tuy nhiên, tôi không chắc chắn lý do đằng sau nó. – moey
@ Siku-Siku.Com: Lý do cho việc sử dụng '.stop()' trên cả chuột và chuột sẽ trở nên rõ ràng nếu bạn di chuột qua div, di chuyển nó đi và sau đó nhanh chóng quay trở lại. Những gì người dùng mong đợi từ đó là div để "quay lại", tức là * ngừng những gì nó đang làm và làm điều mới thay thế *. Đó chính xác là những gì '.stop()' thực hiện. –
+1 để làm rõ! – moey