2012-05-08 66 views
0

遇到與導航菜單相關的錯誤問題。懸停時,出現一個javascript錯誤:'undefined'不是一個函數(評估'$(this).calcSubWidth()')。它在menu.js中。但是,即使有錯誤,菜單也能正常工作。

網站:http://csenew.drdino.coresense.com

任何幫助您能給表示讚賞。

+0

發佈相關代碼將使SO社區更容易找到您的問題。但是,它聽起來像'calcSubWidth'函數不可用。既然你試圖在jQuery對象上運行它,你可以仔細檢查一下,確保它綁定到'$ .fn'嗎? – rjz

+0

我可以看到'calcSubWidth'被添加到'jQuery.fn'的位置,但我不知道爲什麼要在處理程序中執行此操作,或者爲什麼它不顯示在jQuery對象中。 http://csenew.drdino.coresense.com/static/js/menu.js –

回答

2

我看了一下menu.js,注意到一件事。您在megaHoverOver函數中創建插件(calcSubWidth)。 megaHoverOver每次您將鼠標懸停在菜單項上時都會調用,因此您每次都重新定義calcSubWidth。嘗試將calcSubWidth的定義移動到document.ready函數的頂部,看看是否有幫助。

另一種評論 - 考慮從calcSubWidth返回rowWidth而不是隻是作爲一個全球性的地方訪問它。出於各種原因,Globals不太好用,包括在範圍鏈上進行調試和性能優化。

相關問題