2016-01-18 140 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