两种方法实现在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 相关文章推荐
javascript 操作Word和Excel的实现代码
Oct 26 Javascript
Extjs学习笔记之七 布局
Jan 08 Javascript
range 标准化之获取
Aug 28 Javascript
JQuery验证jsp页面属性是否为空(实例代码)
Nov 08 Javascript
使用jQuery获得内容以及内容的属性
Feb 26 Javascript
jquery实现平滑的二级下拉菜单效果
Aug 26 Javascript
实现一个简单的vue无限加载指令方法
Jan 10 Javascript
.net MVC+Bootstrap下使用localResizeIMG上传图片
Apr 21 Javascript
前端图片懒加载(lazyload)的实现方法(提高用户体验)
Aug 21 Javascript
Node.js简单入门前传
Aug 21 Javascript
详解js的视频和音频采集
Aug 09 Javascript
JavaScript对象访问器Getter及Setter原理解析
Dec 08 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
德生PL990的分析评价
2021/03/02 无线电
PHP4实际应用经验篇(7)
2006/10/09 PHP
海河写的 Discuz论坛帖子调用js的php代码
2007/08/23 PHP
PHP面向接口编程 耦合设计模式 简单范例
2011/03/23 PHP
php 中的4种标记风格介绍
2012/05/10 PHP
解析Linux下Varnish缓存的配置优化
2013/06/20 PHP
浅析十款PHP开发框架的对比
2013/07/05 PHP
详解WordPress开发中get_header()获取头部函数的用法
2016/01/08 PHP
PHP根据session与cookie用户登录状态操作类的代码
2016/05/13 PHP
Avengerls vs Newbee BO3 第三场2.18
2021/03/10 DOTA
简洁Ajax函数处理(示例代码)
2013/11/15 Javascript
简要了解jQuery移动web开发的响应式布局设计
2015/12/04 Javascript
第五章之BootStrap 栅格系统
2016/04/25 Javascript
值得学习的bootstrap fileinput文件上传工具
2016/11/08 Javascript
深入理解JavaScript中的预解析
2017/01/04 Javascript
web.js.字符串与正则表达式操作
2017/05/13 Javascript
详解使用angular-cli发布i18n多国语言Angular应用
2017/05/20 Javascript
jquery与js实现全选功能的区别
2017/06/11 jQuery
分享ES6的7个实用技巧
2018/01/18 Javascript
vue组件与复用详解
2018/04/08 Javascript
vue2.0 可折叠列表 v-for循环展示的实例
2018/09/07 Javascript
js实现黑白div块画空心的图形
2018/12/13 Javascript
基于 vue-skeleton-webpack-plugin 的骨架屏实战
2019/08/05 Javascript
JS检测浏览器开发者工具是否打开的方法详解
2020/10/02 Javascript
Vue实现省市区三级联动
2020/12/27 Vue.js
CentOS 6.5下安装Python 3.5.2(与Python2并存)
2017/06/05 Python
Python字符串格式化%s%d%f详解
2018/02/02 Python
对python3 中方法各种参数和返回值详解
2018/12/15 Python
Python通用循环的构造方法实例分析
2018/12/19 Python
Python log模块logging记录打印用法解析
2020/01/20 Python
python读取xml文件方法解析
2020/08/04 Python
django跳转页面传参的实现
2020/09/17 Python
台湾最大网路书店:博客来
2018/03/18 全球购物
高中军训的心得体会
2014/09/01 职场文书
作风建设剖析材料
2014/10/06 职场文书
使用pytorch实现线性回归
2021/04/11 Python