2011-11-03 44 views
0

我有一個側邊欄腳本,我正在創建一個單獨的js文件,因爲它用於網站的3個區域。當我檢查控制檯時,它說它未定義。爲什麼控制檯說我的函數/變量是未定義的?

這是我的腳本,我錯過了什麼?

var SideBarMenu = (function() { 
var init = function() { 
    debug('sideBarMenu.init'); 
    $('.sidebar_menu').show(); 
    setTimeout("SideBarMenu.hideSideBar()",3000); 
}; 

var hideSideBar = function() { 
    $('.sidebar_menu').slideUp('300'); 
    $('.sidebar').mouseenter(handlerIn).mouseleave(handlerOut); 
}; 

var handlerIn = function() { 
    //debug('sideBarMenu enter'); 
    $('.sidebar_menu').slideDown('300'); 
} 
var handlerOut = function() { 
    //debug('sideBarMenu leave'); 
    $('.sidebar_menu').slideUp('300'); 
} 

return { 
    init:init, 
    hideSideBar:hideSideBar 
}; 
})(); 
}); 
+0

您可能關閉'$()準備就緒(函數(){...});'太早。請正確縮進你的代碼,你會看到這樣的問題。 – buschtoens

回答

0

根據需要可以有多少個.ready()處理程序。只需將你的邏輯包裝在另一個。

參見:http://docs.jquery.com/Tutorials:Multiple_$(document).ready()

+0

好了,我把它添加到這種方式的個人網頁: $(文件)。就緒(函數(){ \t sideBarMenu.init(); \t \t}); 現在顯示它正在加載,但表示該函數未定義。我在原始腳本中錯過了什麼? – Dizzo

+0

在評論中包含代碼的文件之前或之後是否包含包含代碼的.js文件? –

相關問題