我有一个名为“text.html”的一个 html页面
<html>
<body>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="js/Photos.js"></script>
<script type="text/javascript" src="js/Animations.js"></script>
</body>
</html>
Photos.js和Animations.js都以“$(document).ready()”开头,就像这样
//Javascript File Photos.js
$(document).ready(function() {
//My code here ....
});
//Javascript File Animations.js
$(document).ready(function() {
//My code here ....
});
如果我使用多个 $(文档).ready(function(){在单 html页面中
是否重要?先谢谢
答案 0 :(得分:6)
您可以根据需要使用多个,但为了便于阅读,最好将其保留为一个。
另请考虑使用简写$(function() { ... });
答案 1 :(得分:2)
不,没关系。
但是,一切都可以包含在同一个中。
修改强>
有关您的评论的详细说明,请参阅我的回答in this thread:
Will linking javascript files in the body rather than in the header cause a problem?
答案 2 :(得分:2)
如果我使用多个$(document).ready(function(){in a 单个html页面??
是的,这很重要。
jQuery函数被同时调用多次,从而浪费时间和内存。
对于你编写的代码和插件,你应该总是尝试只使用一个$(document).ready()
或$(window).load()
,但你会发现许多插件都是从你指出的那个调用开始的。
修改强>
如果你真的无法抗拒使用$(document).ready()不止一次,至少在你第一次使用时尝试将文档的引用存储在一个变量中,所以你没有每次检查文档对象,如下所示:
// store the jQuery document object to a variable
var $document = $(document);
$document.ready( //... );
至少你会保存一些函数调用。
答案 3 :(得分:1)
没有丝毫。他们都只会在同一事件上触发。没关系。 :)
答案 4 :(得分:1)
如果我在单个html页面中使用多个$(document).ready(function(){是否重要?
不,没关系,在某些(读:很多)案例中,这是正确的方法。但是,像往常一样,我想提供一些(有用的)指针:
正如您在评论中提到的,技术上在</body>
之前添加文件调用意味着,您基本上不需要使用$(document).ready()
。我个人尽量避免尽可能多地避免,因为jQuery并不像JS那样严格(意思是:大多数脚本都没有$(document).ready()
)。
[编辑:这部分答案不准确,请参阅下面的评论] 此外,在页脚中添加jquery,甚至在{{1}中添加jquery是不明智的}。从技术上讲,它不是不正确的,但如果您正在处理类似cms的软件或某些模板功能,那么您希望所有页面都包含jQuery。或者你可以称之为我的老学校知识。
由于你想在页脚中调用Photos.js和Animations.js,我认为,它们不是正确的插件。如果你想让你的代码更紧凑,那么将它们组合成正确的插件。然后你可以在标题中添加插件并拥有单个页脚文件,将插件分配给元素(阅读:激活它们。)Here is a quick tutorial如何创建自己的插件。
此外,如果您有多个JS文件,则必须将其包含在页面中。然后,您可以使用<body>
使代码更整洁。您必须像往常一样首先添加jQuery,但调用其他文件可以在一个$.getScript()
标记中完成。看起来更整洁,它似乎也快一点(至少在你自己的头脑中。)我给你一个小例子:
<script>