最近我看到你可以使用
$('document').ready(function() {
//Do Code
});
或者$('window').load(function() {
//Do Code
});
针对jQuery而言。
然而,它们对我来说似乎是相同的!但显然并不是。
所以我的问题是:对于一个基于动画和异步的网站,我应该使用哪一个?而且这两个中哪一个通常更好使用?
谢谢。
最近我看到你可以使用
$('document').ready(function() {
//Do Code
});
或者$('window').load(function() {
//Do Code
});
针对jQuery而言。
然而,它们对我来说似乎是相同的!但显然并不是。
所以我的问题是:对于一个基于动画和异步的网站,我应该使用哪一个?而且这两个中哪一个通常更好使用?
谢谢。
$('document').ready
会在DOM准备好时运行代码,但不会在页面加载完毕时运行,也就是说,在网站还没有被绘制且像图片这样的内容还没有被加载。
$(window).load
会在页面被绘制且所有内容都被加载后运行代码。当您需要获取图像大小时,这将非常有用。如果图像没有样式或宽度/高度,除非使用 $(window).load
,否则无法获取其大小。
首先,您可能希望考虑使用“ready”事件,可以像这样处理它:
$().ready(function() {
...
});
$(function() {
...
});
<img>
和<iframe>
。文档或窗口级别的"load"事件发生在页面的所有资源加载完成时。然而,在某些浏览器中合成的"ready"事件发生在页面DOM准备好但可能在像<img>
内容之前。另一种选择是将<script>
标签放置在<body>
末尾甚至在<body>
之后。这样脚本就可以使用整个DOM,但您无需担心任何事件处理即可知道。
load
而不是ready
的事情? - James Montagne