2016-01-18 201 views
3
$(function() { 
    var previous_page = "<?=$_SESSION["previous_page"]?>"; 
    if (previous_page == "bar_settings") 
     $.club_settings(); 

    $.club_settings = function() { 
     $(".bar_settings").fadeIn(1000); 
     $(".bar_photos").hide(); 
     $(".bar_activities").hide(); 
     $(".bar_campaigns").hide(); 
     $(".etkinlik_ekle").hide(); 
     $(".kampanya_ekle").hide(); 
    } 

})(jQuery); 

我得到的錯誤是$.club_settings不是函數。我怎樣才能調用在if條件$.club_settings通話功能不是功能

+1

的建議因爲你不試圖調用之前定義它來解決這個問題。你正在創建一個匿名函數,而不是一個名爲一個被懸掛。 –

回答

3

你你怎麼稱呼它後定義函數。開關周圍的代碼如下所示:

$(function() { 
    $.club_settings = function() { 
     $(".bar_settings").fadeIn(1000); 
     $(".bar_photos").hide(); 
     $(".bar_activities").hide(); 
     $(".bar_campaigns").hide(); 
     $(".etkinlik_ekle").hide(); 
     $(".kampanya_ekle").hide(); 
    } 

    var previous_page = "<?=$_SESSION["previous_page"]?>"; 
    if (previous_page == "bar_settings") 
     $.club_settings(); 


})(jQuery); 
+0

媽呀,我怎麼能錯過它:d非常感謝,我浪費了太多時間,這:( –

0

JavaScript only hoists declarations, not initializations.

參考上面顯示變量是如何懸掛,但它適用於功能了。

$(function() { 
    var previous_page = "<?=$_SESSION["previous_page"]?>"; 
    if (previous_page == "bar_settings") 
    club_settings(); 

    function club_settings() { 
    $(".bar_settings").fadeIn(1000); 
    $(".bar_photos").hide(); 
    $(".bar_activities").hide(); 
    $(".bar_campaigns").hide(); 
    $(".etkinlik_ekle").hide(); 
    $(".kampanya_ekle").hide(); 
    } 
})(jQuery); 

缺點會是,它會在你的$變量,它可能會導致其他地方的代碼打破被發現。但是,這可能是另一個問題。

試圖通過做$.club_settings() = function club_settings() { ...,除非你重新排列你的代碼將無法工作由Mike