2015-12-16 67 views
0

我有一個鼠標懸停時激活的下拉菜單。它有一個動畫,需要200毫秒才能完成,如果你將鼠標移開重新回到200毫秒,它將再次完成200毫秒。運行太多次的JQuery懸停事件處理程序

如果您在下拉菜單上運行鼠標並關閉10秒鐘,然後移動鼠標,則下拉菜單將不斷下拉並備份,直到您的鼠標位於下拉菜單中, 。

有誰知道我該如何解決這個問題?

var dropdown = function() { 
    $('.dropdown').hover(function() { 
     $('.inbutton').animate({ 
      top: '-188px' 
     }, 200); 
     $('.dr2button').animate({ 
      top: '0px' 
     }, 200); 
    }, function() { 
     $('.inbutton').animate({ 
      top: '-122px' 
     }, 200); 
     $('.dr2button').animate({ 
      top: '-61px' 
     }, 200); 
    }); 
}; 


$(document).ready(dropdown); 
+1

請編輯修復片段。目前什麼都不顯示 –

+3

https://api.jquery.com/stop/ – j08691

+0

你可以決定每次發生鼠標懸停或鼠標懸停事件時,是否基於動畫完成時可以操作的變量設置動畫或動畫 –

回答

1

Preppend的stop()功能animate()

$('.inbutton').stop().animate({ 
     top: '-122px' 
    }, 200); 

使這個在所有動畫功能。

更多信息:

https://api.jquery.com/stop/

相關問題