1.ready()
(1)DOM结构加载完成,可以通过id或者class等对DOM进行操作。此时,一些大的图片可能还没有完全加载完成;
(2)可以任意标签上,该标签加载完后,就可以执行语句;
(3)$(document).ready()可以简写成:
$().ready(function(){...});
$(function(){...});
2.load()
(1)页面完全加载完后执行,不仅是DOM结构,还有页面中的所有引用,例如图片,所有都加载完后才会执行;
(2)任何元素都没有load()事件;
(3)只能写一次,若有多个load()事件,只会执行最后一个。
3.onload事件
(1)页面所有内容包括图片在内的加载完后才会执行;
(2)window.onload没有简化写法;
(3)window.onload不能同时编写多个,若有多个,只会执行最后一个。
4.用$(window).load(function(){...})而不用body.onload()的几个理由
(1)共同点:都是页面所有内容包括图片在内的加载完成后才会执行;
(2)若有多个函数,需要在body标签上写很多个事件,如<body onload="fn1(); fn2()"></body>,若用$(window).load(function(){fn1()}),$(window).load(function(){fn2()}),可以看出比写在body上清晰;
(3)若写在body标签上,html和js不能完全分离。
综上,建议使用$(document).ready(),DOM加载完成后就可以执行,加快网速速度。若需要等所有内容都加载之后之后,如图片的裁剪等,则用$(window).load()。
网友评论