2010-07-25 40 views
5

我試圖找出這是否可能..我有一個圖像地圖,確實淡入/淡出基於某些部分懸停..問題是,當用戶在淡出期間懸停到不同的區域它完成了它正在做的淡出,然後是鼠標移動到的區域。如果用戶在幾個不同的區域之間快速移動,那麼淡入淡出看起來真的很尷尬,所以我希望能夠禁用懸停事件(淡入淡出)期間,另一個淡出正在進行,所以它只是忽略它..Jquery,在淡入/淡出期間禁用/忽略懸停事件?

我想過使用某種延遲,但我不知道這是否可以工作,因爲我認爲它會推遲淡出..任何意見表示讚賞。

回答

3

我想你指的是queue buildup問題在那裏。嘗試使用stop方法動畫方法如前:

$(...).stop().fadeIn(); 

更多信息:

http://www.learningjquery.com/2009/01/quick-tip-prevent-animation-queue-buildup

至於流暢的動畫,你可以去jQuery Easing Plugin

+0

謝謝..這有助於,這是我的問題不真正知道正確的術語來搜索這個信息,我會看你給你的inf – Rick 2010-07-25 09:56:26

+0

@Rick:不客氣:) – Sarfraz 2010-07-25 09:57:50

8

沒有看到您的代碼,您的工具是:animated和jQuerys .stop()方法的混合。

這可能看起來像

$('imagemap').hover(function(){ 
    // only do something if no animation is in process (like fading) 
    if(!$(this).is(':animated')){ 
    } 
}, function(){ 
}); 

你也可以在你的鏈中的任何.fadeIn()之前調用.stop(true, true)。這將停止當前的動畫並跳轉到fx queue的末尾。

參考文獻::animated selector.stop().is()

+0

謝謝..我現在想通了,只是不知道什麼術語來搜索我猜 – Rick 2010-07-25 10:09:07