2010-02-03 87 views
1

我有下面的代碼運行時創建一個下拉手風琴,揭示當div「#top_mailing」懸停時隱藏的div「#top_mailing_hidden」。問題是,當我通過將鼠標懸停出來然後再次將鼠標懸停在動畫上時,它會中止動畫並將其解除。滑動面板插入jQuery HoverIntent

我有以下代碼:

//Top Mailing List Drop down animation 
$(document).ready(function() { 

$('#top_mailing') 
.bind("mouseenter",function() { 
    $("#top_mailing_hidden").stop().slideDown('slow'); 
}) 
.bind("mouseleave",function() { 
    $("#top_mailing_hidden").stop().slideUp('slow'); 
}); 

});

布賴恩Cherne的插件說調用hoverIntent功能如下(其中「makeTall」和「makeShort」定義功能:

​​

我覺得我得到的行爲最好的解決方案是使用Brian Cherne的「HoverIntent」jQuery插件問題是我不知道如何將代碼插入到上面來調用HoverIntent插件。它說調用「.hoverIntent」而不是.hover,但是我的代碼使用.bind (「mouseEnter」...有人請幫助!

回答

1

您仍然可以使用匿名函數與hoverIntent:

$('#top_mailing').hoverIntent(function() { 
    $("#top_mailing_hidden").stop().slideDown('slow'); 
}, 
function() { 
    $("#top_mailing_hidden").stop().slideUp('slow'); 
}); 
+0

好的,按照您寫的那樣插入代碼,我什麼也得不到。該代碼無法運行動畫。我是否需要在上面的代碼中刪除的「.bind(」mouseenter「,function」位? – Brian 2010-02-04 00:15:31

+0

根本不需要綁定....但確保在jQuery之後包含hoverIntent插件在頁面('jquery.hoverintent.js'或'jquery.hoverintent.minified.js'文件)。 – 2010-02-04 00:20:42

+0

得到它的工作,不知道是什麼問題。我已經插入jquery和hoverIntent。Works!Thanks a束! – Brian 2010-02-04 00:30:44