jQuery如何使函数全局化?或文件级别?

时间:2017-10-17 18:05:56

标签: javascript jquery html function global

我是jQuery和javascript的新手。我在这里尝试了一些事情,让我解释一下我的内容:

- 我有几个运行代码的单独的.js文件。我无法在index.html文件中的代码触发之前加载它们。它总是加载jQuery文件(设置窗口属性)然后加载index.html,然后加载所有其他.js文件我有jQuery主文件的列表。所以我试图解决这个问题。

我将我的javascript分成了单独的文件:
- jQuery.js(迷你)//来自任何本地或主要的ajax来源 - mainpage.js //主页设置的javascript代码。它是必要的元素,目前没什么 - mainmenu.js //这会加载mainmenu.html,它包含主菜单列表 - index.html //我想在此运行的唯一代码是将".active"类声明为主页按钮。我希望它在这个文件中,所以我可以在我的所有文件中使用相同的通用mainmenu.js和mainmenu.html。
这些都是在index.html的头部宣布的。

我的问题是它加载jQuery.js次加载,然后立即触发index.html的javascript。我不知道如何声明将#home按钮设置为".active"的函数我可以将它声明到文档级别吗?我知道我不应该让它全球化...但我甚至不知道该怎么做? 我现在这样做:

defineactive(){
    $(mmlist).find("#home").addClass("active"); 

}

但是,mmlist尚未定义。这是在mainmenu.js中声明的,它是在index.html

之后加载的

所以我想我的问题是我可以声明一个函数,以便能够在jQuery.js之外调用吗?

如果没有,除了使用外部源/应用程序,我如何确保按顺序加载javascript文件?我计划稍后以更复杂的方式使用这个想法,所以我需要这个工作。

1 个答案:

答案 0 :(得分:0)

尝试将代码包装为:

$(document).ready(function(){
// ... Your code ...
});

所以它将在加载页面时运行。