2013-04-24 82 views
0

我試圖做出一個彈出式菜單,當您將鼠標懸停在展現自己然後在鼠標懸停時崩潰時使用jquery動畫。我最初開始hoverIntent和下面的代碼:鼠標事件在頁面加載時立即觸發問題,而不再是

function collapseMenu() { 
    $("#myMenu").animate({ "left": "+=50px" }, "slow"); 
} 

function expandMenu() { 
    $("#myMenu").animate({ "left": "-=50px" }, "slow"); 
} 

$('#myMenu').hover(expandMenu(), collapseMenu()); 

當我加載菜單向右移動50像素,然後離開50個像素的頁面。然後當我竟然懸停在菜單中出現以下控制檯錯誤

Uncaught TypeError: Cannot call method 'apply' of undefined

上線69和hoverintent.js

所以我只是想jQuery的.hover並得到了相同的結果82,無錯誤。在那之後,我離題以下試驗:

$('#myMenu').mouseenter(alert("mouse entered menu")); 
$('#myMenu').mouseleave(alert("mouse left menu")); 

現在在頁面加載我立即得到兩個警報......懸停什麼。我已經在document.ready和它之外嘗試了這些mouseenter和mouseleave事件(僅僅爲了好玩),兩者都有相同的結果。如果你很好奇,這是我的HTML菜單

<ul id="myMenu" class="nav nav-list"> 
     <li id="lnkHome" class="active"><a href="#">Home</a></li> 
     <li class="nav-header">Issue Reports</li> 
     <li id="lnkSoftware" ><a href="#">Software and Apps</a></li> 
     <li id="lnkOS" class="disabled"><a href="#">Operating Systems</a></li> 
    </ul> 
+0

'hoverintent.js'第69和82行的代碼是什麼? – egig 2013-04-24 00:26:59

回答

1

試試下面的代碼

$('#myMenu').hover(expandMenu, collapseMenu); 

$('#myMenu').hover(expandMenu(), collapseMenu());實際上即刻執行的功能和它們的返回值分配作爲懸停/出事件處理程序

+0

杜爾,謝謝... – 2013-04-24 01:45:49

相關問題