2011-05-13 34 views
1

我認爲這樣做,但它只會延遲動畫。保持jquery動畫不發生,除非事件持續n毫秒

$("#searchsubmit").hover( function() { $("#quicksearchtip").delay(100).slideDown("slow"); }, function() { $("#quicksearchtip").delay(100).slideUp("slow"); });

我不希望該事件,如果用戶發生意外通過光標移到元素在幾毫秒內火。

我希望它只發生在將鼠標懸停在元素上時。即使在鼠標離開元素後,即使動畫觸發一秒鐘,光標也會觸及元素,這非常煩人。

回答

2

您正在尋找hoverIntent plugin

+0

您的解決方案確實有效。我將使用這個庫來解決我的問題。但是,關於通過網站添加另一個庫,*呻吟* – 2011-05-13 15:08:14

+0

@Doug:隨意自己重寫插件。 :-) – SLaks 2011-05-13 15:11:12

0

您可以在.delay()之前同時添加一個.stop(true)以清空動畫隊列,如此快捷鼠標移出後,延遲動作將被移除。