菜鸟学JS(五)——window.onload与$(document).ready()
来源:互联网 发布:微服务架构 数据库 编辑:程序博客网 时间:2024/05/16 05:19
我们继续说JS,我们常常在页面加载完成以后做一些操作,比如一些元素的显示与隐藏、一些动画效果。我们通常有两种方法来完成这个事情,一个就是window.onload事件,另一个就是JQuery的ready()方法。那么这 两种方法有什么区别呢?往下看:
onload事件,是在页面中所有元素以及内容全部加载完成以后触发的;而ready()方法,则是在页面的DOM结构加载完毕以后就被触发了。也就是说ready()方法会在onload事件之前执行。
举一个例子:
假设有一个表现图库的页面,这种页面中可能会包含许多大型图像,我们可以通过jQuery隐藏、显示或以其他方式操作这些图像。如果我们通过onload页面设置界面,那么用户在能够使用这个页面之前,必须要等到每一幅图像都下载完成。更糟糕的是,如果行为稍微添加给哪些具有默认行为的元素(比如链接),那么用户的交互可能会导致意想不到的结果。然而当我们试用$(document).ready(){ }进行设置时,这个界面就会更早地准备好可用的正确行为。
使用$(document).ready(){ }一般来说都要优于试用onload事件处理程序,但必须要明确一点的是,因为支持文件可能还没有家在完成,所以类似图像的高度和宽度这样的属性此时不一定有效。
onload事件通常写成如下形式:
function myfunction() {//your code};window.onload = myfunction;
或者:
window.onload = function(){ //your code};
ready()方法通常如下:
$(document).ready(function(){//your code});
或者:
$().ready(function(){//your code});
再或者:
$(function(){//your code});
接下来再看两个例子:
function first(){ alert("first");}function second(){ alert("second");}window.onload = second;window.onload = first;
这段代码会弹出“first”。
function first(){alert("first");}function second(){alert("second");}$(document).ready(function(){first();});$(document).ready(function(){second();});
上面这段代码会分别弹出“first”和“second”。
为什么会这样呢?因为onload是一个事件,它只能绑定一个值,后面的会覆盖前面的;而ready()是一个方法,方法之间不会互相影响,所以会顺序执行。
OK,做了以上对比,onload和ready()的区别已经很明显了,什么情况下用谁也不用我多说了吧!
- 菜鸟学JS(五)——window.onload与$(document).ready()
- window.onload与$(document).ready()
- 加载DOM,jquery比js更快更强——$(document).ready()与Window.onload的对比
- js中window.onload()与$(document).ready()的对比
- js中window.onload 与 jquery中$(document.ready()) 测试
- jQuery中的$(document).ready()与js中的window.onload
- JS 替换 window.onload 的 document.ready
- JS 替换 window.onload 的 document.ready
- JS 替换 window.onload 的 document.ready
- JS 替换 window.onload 的 document.ready
- jquery $(document).ready() 与window.onload的区别(转)
- window.onload与jquery的$(document).ready
- window.onload与$(document).ready()的区别
- window.onload 与 document.ready 的区别
- $(document).ready() 与 window.onload的区别
- window.onload与document.ready的区别
- $(document).ready() 与window.onload的区别
- window.onload与$(document).ready()的对比
- oracle数据库体系架构详解
- ZOJ Problem Set - 3019 Puzzle
- swap过高的问题解决
- 解决格式化字符输入的困扰--Android
- web 开发
- 菜鸟学JS(五)——window.onload与$(document).ready()
- Lua 学习笔记:沙盒
- 浅谈erlang游戏服务器项目--英雄远征服务启动流程
- 如何配置eclipse/zend studio的代码自动提示功能
- Ubuntu 修改时区和时间
- C语言中的内联函数(inline)与宏定义(#define)详细解析
- ASCII,Unicode和UTF-8与java
- valgrind用法
- (转载)linux命令之三十七kill命令