两种方法实现在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作用域容易记错的两个地方分析
Jun 22 Javascript
浅谈JavaScript函数参数的可修改性问题
Dec 05 Javascript
JavaScript控制各种浏览器全屏模式的方法、属性和事件介绍
Apr 03 Javascript
jquery获取tagName再进行判断
May 29 Javascript
javascript实现回到顶部特效
May 06 Javascript
详解JavaScript中的事件流和事件处理程序
May 20 Javascript
javascript判断回文数详解及实现代码
Feb 03 Javascript
vue router下的html5 history在iis服务器上的设置方法
Oct 18 Javascript
vue文件运行的方法教学
Feb 12 Javascript
微信小程序视图控件与bindtap之间的问题的解决
Apr 08 Javascript
解决vue 子组件修改父组件传来的props值报错问题
Nov 09 Javascript
前端如何实现动画过渡效果
Feb 05 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
如何分别全角和半角以避免乱码
2006/10/09 PHP
一个域名查询的程序
2006/10/09 PHP
php excel类 phpExcel使用方法介绍
2010/08/21 PHP
深入解析fsockopen与pfsockopen的区别
2013/07/05 PHP
php计划任务之验证是否有多个进程调用同一个job的方法
2015/12/07 PHP
thinkphp5 + ajax 使用formdata提交数据(包括文件上传) 后台返回json完整实例
2020/03/02 PHP
网站上面有这种切换效果
2006/06/26 Javascript
Mootools 1.2教程 排序类和方法简介
2009/09/15 Javascript
去掉gridPanel表头全选框的小例子
2013/07/18 Javascript
Javscript删除数组中指定元素并返回新数组
2014/03/06 Javascript
js实现滑动触屏事件监听的方法
2015/05/05 Javascript
jquery实现触发时更新下拉列表内容的方法
2015/12/02 Javascript
Javascript日期格式化format函数的使用方法
2016/08/30 Javascript
bootstrap+jQuery 实现下拉菜单中复选框全选和全不选效果
2017/06/12 jQuery
详解AngularJS 模块化
2017/06/14 Javascript
JSON 数据格式详解
2017/09/13 Javascript
微信小程序通过保存图片分享到朋友圈功能
2018/05/24 Javascript
微信小程序通过js实现瀑布流布局详解
2019/08/28 Javascript
vue实现商品列表的添加删除实例讲解
2020/05/14 Javascript
[01:17]辉夜杯战队访谈宣传片—EHOME
2015/12/25 DOTA
[01:12:40]DOTA2-DPC中国联赛 正赛 DLG vs XG BO3 第三场 1月25日
2021/03/11 DOTA
Python 随机生成中文验证码的实例代码
2013/03/20 Python
Python中super关键字用法实例分析
2015/05/28 Python
Python2与Python3的区别点整理
2019/12/12 Python
opencv 图像腐蚀和图像膨胀的实现
2020/07/07 Python
CSS3制作日历实现代码
2012/01/21 HTML / CSS
css3选择器基本介绍
2014/12/15 HTML / CSS
营销专业应届生求职信
2013/11/26 职场文书
诚信考试倡议书
2014/04/15 职场文书
祖国在我心中演讲稿200字
2014/08/28 职场文书
2014年党员干部四风问题自我剖析材料
2014/09/29 职场文书
2015年销售内勤工作总结
2015/04/27 职场文书
幼儿园六一主持词
2015/06/30 职场文书
nginx服务器的下载安装与使用详解
2021/08/02 Servers
MySQL 开窗函数
2022/02/15 MySQL
Java中的Kafka为什么性能这么快及4大核心详析
2022/09/23 Java/Android