两种方法实现在HTML页面加载完毕后运行某个js


Posted in Javascript onJune 16, 2014

js方法:

<script type="text/javascript"> window.onload=function(){ 
var userName="xiaoming"; 
alert(userName); 
} 
</script>

以下为jQuery方法,需要引用jQuery文件。
<script type="text/javascript"> $(document).ready(function(){ 
var userName="xiaoming"; 
alert(userName); 
}); 
</script>

或者其简写
$(function(){ 
var userName="xiaoming"; 
alert(userName); 
});

当dom加载完就可以执行(比window.onload更早)。在同一个页面里可以多次出现.ready()

PS:两者的主要区别

window.onload:

当一个文档完全下载到浏览器中时,才会触发window.onload事件。这意味着页面上的全部元素对js而言都是可以操作的,也就是说页面上的所有元素加载完毕才会执行。这种情况对编写功能性代码非常有利,因为无需考虑加载的次序。、

$(document).ready{ }:

会在DOM完全就绪并可以使用时调用。虽然这也意味着所有元素对脚本而言都是可以访问的,但是,并不意味着所有关联的文件都已经下载完毕。换句话说,当HMTL下载完成并解析为DOM树之后,代码就会执行。

举一个例子:

假设有一个表现图库的页面,这种页面中可能会包含许多大型图像,我们可以通过jQuery隐藏、显示或以其他方式操作这些图像。如果我们通过onload页面设置界面,那么用户在能够使用这个页面之前,必须要等到每一幅图像都下载完成。更糟糕的是,如果行为稍微添加给哪些具有默认行为的元素(比如链接),那么用户的交互可能会导致意想不到的结果。然而当我们试用$(document).ready(){ }进行设置时,这个界面就会更早地准备好可用的正确行为。

使用$(document).ready(){ }一般来说都要优于试用onload事件处理程序,但必须要明确一点的是,因为支持文件可能还没有家在完成,所以类似图像的高度和宽度这样的属性此时不一定有效。

注:用把js放在页面底部的方法以及运用defer="defer" 的方法都是会出现问题的。最好使用上面的函数!

Javascript 相关文章推荐
JS 无法通过W3C验证的处理方法
Mar 09 Javascript
jquery选择器-根据多个属性选择示例代码
Oct 21 Javascript
JS,Jquery获取select,dropdownlist,checkbox下拉列表框的值(示例代码)
Jan 11 Javascript
javascript实现网页子页面遍历回调的方法(涉及 window.frames、递归函数、函数上下文)
Jul 27 Javascript
JavaScript优化专题之Loading and Execution加载和运行
Jan 20 Javascript
JS中innerHTML和pasteHTML的区别实例分析
Jun 22 Javascript
AngularJS解决ng界面长表达式(ui-set)的方法分析
Nov 07 Javascript
实现一个简单的vue无限加载指令方法
Jan 10 Javascript
bootstrap的常用组件和栅格式布局详解
May 02 Javascript
IntelliJ IDEA 安装vue开发插件的方法
Nov 21 Javascript
js实现ATM机存取款功能
Oct 27 Javascript
36个正则表达式(开发效率提高80%)
Nov 17 Javascript
jquery实现在页面加载完毕后获取图片高度或宽度
Jun 16 #Javascript
jQuery实现简单网页遮罩层/弹出层效果兼容IE6、IE7
Jun 16 #Javascript
jquery网页回到顶部效果(图标渐隐,自写)
Jun 16 #Javascript
解决checkbox的attr(checked)一直为undefined问题
Jun 16 #Javascript
Javascript实现简单的富文本编辑器附演示
Jun 16 #Javascript
javascript操纵OGNL标签示例代码
Jun 16 #Javascript
jQuery图片切换插件jquery.cycle.js使用示例
Jun 16 #Javascript
You might like
php 调用远程url的六种方法小结
2009/11/02 PHP
php中使用addslashes函数报错问题的解决方法
2013/02/06 PHP
PHP两种去掉数组重复值的方法比较
2014/06/19 PHP
Eclipse的PHP插件PHPEclipse安装和使用
2014/07/20 PHP
利用php操作memcache缓存的基础方法示例
2017/08/02 PHP
PHP单例模式模拟Java Bean实现方法示例
2018/12/07 PHP
ThinkPHP3.2框架自带分页功能实现方法示例
2019/05/13 PHP
PHP文件上传小程序 适合初学者学习!
2019/05/23 PHP
根据判断浏览器类型屏幕分辨率自动调用不同CSS的代码
2007/02/22 Javascript
JQuery对表格进行操作的常用技巧总结
2014/04/23 Javascript
javascript编写贪吃蛇游戏
2015/07/07 Javascript
jQuery+PHP+MySQL二级联动下拉菜单实例讲解
2015/10/27 Javascript
vue bootstrap小例子一枚
2017/06/09 Javascript
vue给组件传递不同的值方法
2018/09/29 Javascript
详解关于Angular4 ng-zorro使用过程中遇到的问题
2018/12/05 Javascript
微信小程序textarea层级过高(盖住其他元素)问题的解决办法
2019/03/04 Javascript
vue实现点击按钮下载文件功能
2019/10/11 Javascript
浅谈微信小程序列表埋点曝光指南
2019/10/15 Javascript
python爬虫入门教程之糗百图片爬虫代码分享
2014/09/02 Python
Python获取任意xml节点值的方法
2015/05/05 Python
python使用wxpython开发简单记事本的方法
2015/05/20 Python
详解python时间模块中的datetime模块
2016/01/13 Python
Python列出一个文件夹及其子目录的所有文件
2016/06/30 Python
Python如何实现文本转语音
2016/08/08 Python
python 3.7.0 安装配置方法图文教程
2018/08/27 Python
使用python实现kNN分类算法
2019/10/16 Python
html5超简单的localStorage实现记住密码的功能实现
2017/09/07 HTML / CSS
最新计算机专业自荐信
2013/10/16 职场文书
《童年的发现》教学反思
2014/02/14 职场文书
便利店促销方案
2014/02/20 职场文书
个人欠款担保书
2014/05/20 职场文书
消防安全承诺书
2014/05/22 职场文书
我的中国梦演讲稿300字
2014/08/19 职场文书
《秋天的怀念》教学反思
2016/02/17 职场文书
导游词之安徽巢湖
2019/12/26 职场文书
golang switch语句的灵活写法介绍
2021/05/06 Golang