首先明确一下页面加载的步骤:

  1、下载解析HTML文档结构

  2、加载外部脚本文件与样式表文件

  3、解析并执行脚本代码

  4、构造HTML DOM模型

  5 、加载图片等外部文件

  6、页面加载完毕  


  接下来,我们分别介绍一下三者:

  load()方法:

    load()方法总共有两种,分别是 jquery的load()方法和jquery Ajax的load()方法。

    如何区别两个方法在于参数的不同。

    jQuery:

      当指定的元素(及子元素)已加载时,会发生 load() 事件。

      该事件适用于任何带有 URL 的元素(比如图像、脚本、框架、内联框架)。

      根据不同的浏览器(Firefox 和 IE),如果图像已被缓存,则也许不会触发 load 事件。

      语法:

        $(selector).load(function)

    jQuery Ajax:

      通过 AJAX 请求从服务器加载数据,并把返回的数据放置到指定的元素中。

      语法:

        load(url,data,function(response,status,xhr))

    load事件必须等到网页中所有内容全部加载完毕之后才被执行。即上述的第六步完成后再运行函数。如果一个网页中有大量的图片的话,则就会出现这种情况:网页文档已经呈现出来,但由于网页数据还没有完全加载完毕,导致load事件不能够即时被触发。所以当我们要加载一个特别大的图片时,如果没有在图片标签就限制了图片的大小,而是在load内设置图片大小,就会造成图片先把页面撑开,等到图片全部加载完毕后再改变其大小的问题。这样以来,用户体验就会非常的差。

  ready()方法:

    ready()方法在上述第4步完成后运行,即DOM结构绘制完成之后就绘执行。这样能确保就算有大量的媒体文件没加载出来,JS代码一样可以执行。

    语法:

      $(document).ready(function)

      $().ready(function)

      $(function)

    上面三种写法效果是一样的,后两种写法是第一种写法的简写方式。

    于是,上述特别大图片的加载情况最好就是把图片的设置放到ready()方法中来,这样等到开始加载图片时,就已经给图片设置了大小,这样就不会造成图片把页面撑开而破坏页面布局的情况发生了。

  onload()事件:

    前两者为jQuery的方法,而onload()是js的一个事件,就如同onclick()事件一样。

    onload 事件会在页面或图像加载完成后立即发生。

    语法:

      onload="SomeJavascriptCode"


  这样就可以看出来三者的区别了,load()和ready()是jQuery的方法,onload()是js的一个事件。

  如果文档中没有相关联的图片等媒体文件的话,使用load()和使用ready()性能上没有多大的区别,不过如果存在,则使用ready()会避免很多麻烦。

  还有load()方法只有一个起作用,即当你运行多个load()方法时,只有最后一个起作用,而ready()方法则可以同时运行多个,这也是ready()方法相对于load()方法的优势之处。

  所以在需要使用这一方法时,尽量使用ready()方法。

  至于onload()事件,则如同onclick()、onmouseover()等事件一样,使用方法也没有区别。这就是onload()和load()的区别,看起来似乎一样,不过却是完全不同的两者。

【javascript】onload load ready的那些事的更多相关文章

  1. jQuery $(document).ready()和JavaScript onload事件

    jQuery $(document).ready()和JavaScript onload事件 Why we need a right time? 对元素的操作和事件的绑定需要等待一个合适的时机,可以看 ...

  2. [Javascript]jquery $(document).ready() 与window.onload的区别

    引用:http://www.jb51.net/article/21628.htm Jquery中$(document).ready()的作用类似于传统JavaScript中的window.onload ...

  3. jQuery 的ready事件和 JavaScript 的load事件对比

    为了理解2个事件的异同,先了解一下HTML文档加载顺序 HTML DOM文档加载步骤 HTML DOM文档加载是按顺序执行的,这与浏览器的渲染方式有关,一般浏览器渲染操作的顺序大致按如下几个步骤 1, ...

  4. onload事件属性,JQ中的load,ready方法

    onload事件属性,JQ中的load,ready方法 前言 页面中的很多操作,需要我们在所需资源下载完成后,才可以进行操作,而资源没有及时下载,我们进行操作的话,是会报错.因此我们需要熟练掌握哪些事 ...

  5. JQuery onload、ready概念介绍及使用方法

    页面加载完成有两种事件,一是ready,表示文档结构已经加载完成,onload,ready概念容易混淆,下面为大家详细介绍下   页面加载完成有两种事件,一是ready,表示文档结构已经加载完成(不包 ...

  6. 前端中onload与ready的区别

    Jquery的ready()与Javascrpit的load() 1 window.onload() $(document).ready() 加载时机 必须等待网页全部加载完毕(包括图片等),然后再执 ...

  7. JavaScript onload

     The onload event occurs immediately after a page or an image is loaded.onload事件当一个页面或是一张图片加载完成时被触发. ...

  8. onload和ready的区别

    onload和ready的区别 1.执行时间 window.onload必须等到页面内包括图片的所有元素加载完毕后才能执行 $(document).read()是DOM结构绘制完毕后就执行,不必等到加 ...

  9. jsp中的javascript的$(document).ready( function() { $("#loginForm").validate()

    转自:https://bbs.csdn.net/topics/392459787?list=71147533 下面是jsp页面中的JavaScript代码 $(document).ready( fun ...

随机推荐

  1. 再次学习linux文件特殊权限:SUID、SGID、Sticy Bit

    以前对于文件管理的认识只限于UGO的管理,对于特殊权限的学习还是一知半解.重新学习了一遍,我自己理解的东东记录一下. 首先,列一下SUID.SGID.Sticy Bit所代表的权限数值.就好像rwx分 ...

  2. python抓网页数据【ref:http://www.1point3acres.com/bbs/thread-83337-1-1.html】

    前言:数据科学越来越火了,网页是数据很大的一个来源.最近很多人问怎么抓网页数据,据我所知,常见的编程语言(C++,java,python)都可以实现抓网页数据,甚至很多统计\计算的语言(R,Matla ...

  3. IntelliJ OpenCV 开发环境搭建

    Windows下的IntelliJ + OpenCV开发环境搭建 基于IntelliJ IDEA 15 和 OpenCV 3.1.0 1. 在OpenCV官网下载OpenCV安装程序,双击解压到目标目 ...

  4. [respberry pi3][suse] 配置docker

    [respberry pi3][suse] 配置docker arm64 suse上总的软件还是比较少的,特别是对32bit的一些支持,比较熟悉ubuntu,但是不能raspberry pi3没有64 ...

  5. android ART-逆向研究者的福音?

    android 4.4起,提供了一种与Dalvik截然不同的运行环境-ART(Android Runtime)的支持.目前用户可以选择设备的运行环境,在不久的将来ART肯定会替代Dalvik Runt ...

  6. (zxing.net)一维码Code 39的简介、实现与解码

    一.简介 一维码Code 39:由于编制简单.能够对任意长度的数据进行编码.支持设备广泛等特性而被广泛采用. Code 39码特点: 能够对任意长度的数据进行编码,其局限在于印刷品的长度和条码阅读器的 ...

  7. Log4net日志

    log4net简介(摘抄于百度百科):      log4net库是Apache log4j框架在Microsoft .NET平台的实现,是一个帮助程序员将日志信息输出到各种目标(控制台.文件.数据库 ...

  8. CentOS6.5安装mysql-5.7.18-1.el6.x86_64.rpm-bundle.tar

    本文内容为转载内容,具体作者忘记是谁了,在收藏夹找到的 先去官网(https://dev.mysql.com/downloads/mysql/),在Select Operating System选择R ...

  9. 《Beginning Java 7》 - 4 - finalize() 手动垃圾回收

    当我们想在系统进行垃圾回收时做一些特定的工作,我们就可以重写 finalze() 函数,因为 Object 的 此函数是空的. 比如: protected void finalize() throws ...

  10. BZOJ1901 Dynamic Rankings|带修主席树

    题目链接:戳我 其实我并不会做,于是看了题解 我们都知道主席树是利用前缀和记录历史版本来搞区间K大的一种数据结构.不过一般的主席树只能搞定静态区间第K大.如果带修怎么办呢? 想一下...单点修改+区间 ...