jQuery如何制作一个全球性的功能?或文档级别?
我是新来的jQuery和JavaScript。我在这里尝试了一些东西,所以让我解释我有什么:jQuery如何制作一个全球性的功能?或文档级别?
- 我有几个独立的.js文件运行代码。我无法让它们在index.html文件中的代码触发之前加载。它总是加载jQuery文件(它设置窗口属性),然后加载index.html,然后加载所有其他.js文件,我列出了jQuery主文件。所以我试图解决这个问题。
我已经分隔我的javascript到单独的文件:
- jQuery.js
(迷你)//从任何本地或主AJAX源这部作品
- mainpage.js
// JavaScript代码的主要页面设置。它在那里作为需要的元素,目前什么都没有。
- mainmenu.js
//这个加载mainmenu.html包含mainmenu列表。
- index.html
//我想运行的唯一代码是将".active"
类声明为home按钮。我想在这个文件中,所以我可以在我的所有文件中使用相同的通用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文件加载顺序?我打算以后用更复杂的方式使用这个想法,所以我需要这个工作。
尝试来包装你的代码为:
$(document).ready(function(){
// ... Your code ...
});
所以它会通过的时候页面就会被加载运行。
我总是这样做。不工作。根据另一篇文章,这等待html加载,但不是所有的资源。尝试'$(文档).load(函数(){'本来应该解决这个问题......但我也尝试过,无济于事。 – Jexadox
第一个问题,你的js文件'jquery'是否依赖? – Hackerman
是的,他们是。因此我需要jQuery加载FIRST,并且它确实需要。但是我希望我的mainpage.js,mainmenu.js和其他人加载NEXT,并在我的index.html(或其他网页)末尾调用JavaScript来激发LAST。 – Jexadox