JS onload

在JS中,如果希望在页面加载完成后执行某些操作的话,一般的写法如下:

window.onload = function(){// some thing to do};

但 是,onload函数的执行并不是我们通常所理解的浏览器构建完html页面对应的DOM树后立刻执行,而是要等到页面中所引用的图片等外部资源 完全下载完成后并且在浏览器中显示才执行,也就是说,如果页面中包括很多图片或者图片很大时将导致onload函数执行时间会被推迟很久,页面中基于 onload的特效或者其它相关内容将并不立刻可用,导致用户体验差。

JQUERY的提供了一个自己的类似onload方式,通过该方法实现的页面加载后 执行函数将在浏览器构建完DOM树后立刻执行,而并不需要等待图片等外部资源下载完成。

$(function(){//something to do}); (等同于写法$(document).ready() 和 $().ready() )

在$(document).ready()执行时,整个DOM文档树已经解析完成,即各个DOM元素都已经可以访问了(但是对于某些元素的某些属性 此时访问可能还不精确,如图片的宽度高度)

而window.onload会在整个文档都加载完成后才会执行,常见的就是对于页面含很多图片的情况下,必须等到图片都下载 下来后才会执行。

而$(document).ready()不会,

但是$(document).ready()中在访问某些属性是可能会遇到这种属性还没有加载完成的情况。

posted @ 2017-12-22 12:47  xueshengqqrr  阅读(419)  评论(0编辑  收藏  举报