2011-11-15 42 views
5

Tôi có một lệnh div làm mất đi một phần tử khác trên trang khi di chuột (và di chuột ra ngoài). Vấn đề là không có gì để ngăn chặn người sử dụng lơ lửng trên và ngoài thực sự nhanh chóng và gây ra các hình ảnh động để xếp hàng.Jquery, ngăn chặn hoạt ảnh xếp hàng

Dưới đây là mã của tôi:

<div class="hovertest">test</div> 

<div class="test">test2</div> 

Jquery:

$("div.hovertest").hover(
     function() { 
     $(".test").fadeOut(); 
     }, 
     function() { 
     $(".test").fadeIn(); 
}); 

CSS:

div { 
    width:200px; 
    height:100px; 
    background-color:#B22; 
} 

Và đây là một liên kết đến jsfidde: http://jsfiddle.net/btEXH/

Trả lời

5

Bạn muốn sử dụng thứ e stop chức năng và chuyển giá trị true cho clearQueue và jumpToEnd.

$("div.hovertest").hover(
    function() { 
    $(".test").stop(true, true).fadeOut(); 
    }, 
    function() { 
    $(".test").stop(true, true).fadeIn(); 
}); 

http://jsfiddle.net/infernalbadger/btEXH/1/

+0

Có thể fadeIn/Out từ nơi hoạt hình dừng lại chứ không phải nhảy đến cùng và sau đó chạy các hình ảnh động. - đó là thực hiện công việc khác. Cảm ơn! – Tom

+0

@Tom Có thể bằng cách thay đổi tham số thứ 2 thành sai. Mặc dù điều đó dường như gây ra vấn đề về độ mờ đục –

+0

Vâng, tôi đã thử điều đó và gặp vấn đề tương tự. Trong trường hợp này, nó sẽ không gây ra vấn đề gì nhưng nếu hoạt hình chậm hơn thì có vẻ hơi lạ. – Tom

Các vấn đề liên quan