2014-02-17 47 views
0

我正嘗試使用.hover()來隱藏和顯示用戶鼠標在圖像中的選項。如何在鼠標移出時停止未完成的動畫,然後再次將鼠標放入.hover()中?

這裏是我的JS代碼:

$(document).ready(function(){ 
$('#test').hover(
    function(){ 
     $('.caption').show('slide', {direction: 'left'}, 1200); 
    }, 
    function(){ 
     $('.caption').hide(1200)});}); 

眼下的動畫作品,但如果我的鼠標輸入並多次鼠標移出迅速,標籤的重複的速度不能用鼠標趕上。而當我再次盤旋時,不完整的動畫可能會暫停執行目前的調用。

我嘗試添加.stop()但隨後的功能不能在當我鼠標再次重複了

有誰知道怎麼做了,謝謝。

這裏是的jsfiddle:http://jsfiddle.net/x69chen/aznEa/2/

+0

看到這裏的http:// API。 jquery.com/stop/ – elclanrs

回答

0

使用止動件(真,真)在Jquery.We可以使用不具有多個的 通病創建一個漂亮的滑動效果排隊通過添加.stop動畫(真, 真)的鏈:

$(document).ready(function(){ 

    $('#test').hover(
     function(){ 
      $('.caption').stop(true,true).show('slide', {direction: 'left'}, 1200); 
     }, 
     function(){ 
      $('.caption').stop(true,true).hide(100)}); 
}); 
+0

哦,非常感謝,我永遠不知道.stop()可以添加在那裏。 –

+0

但它似乎有錯誤,而我嘗試了鼠標和鼠標快速幾次,標籤已被扔出div。你知道如何解決它嗎? –

+0

你使用stop()或stop(true,true); –

0

//試試這個

$(document).ready(function(){ 
$('#test').hover(
    function(){ 
     $('.caption').show('slide', {direction: 'left'}, 1200); 
    }); 

$('#test').mouseout(function(){ 
    $('.caption').stop().show('slide', {direction: 'left'}, 1200); 
     $('.caption').hide(100); 
}); 
}); 

看到JS小提琴在http://jsfiddle.net/x69chen/aznEa/2/

相關問題