【问题标题】:Why does console say my function/variable is undefined?为什么控制台说我的函数/变量未定义?
【发布时间】:2011-11-03 14:48:40
【问题描述】:

我有一个侧边栏脚本,我正在为其创建一个单独的 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
};
})();
});

【问题讨论】:

  • 您可能过早关闭您的$().ready(function() { ... });。请正确缩进你的代码,你会看到这样的问题。

标签: jquery jquery-ui load jquery-animate document-ready


【解决方案1】:

您可以拥有任意数量的.ready() 处理程序。只需将您的逻辑包装在另一个中即可。

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

【讨论】:

  • 好的,所以我以这种方式将它添加到各个页面: $(document).ready(function () { sideBarMenu.init(); });现在显示它正在加载,但表示该函数未定义。我的原始脚本中缺少什么?
  • 包含您的代码的 .js 文件是包含在包含您的评论代码的文件之前还是之后?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-09
  • 2014-10-13
  • 2014-11-20
  • 1970-01-01
相关资源
最近更新 更多