两种方法实现在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冒泡、捕获事件及阻止冒泡方法详细总结
May 08 Javascript
网站接入QQ登录的两种方法
Jul 22 Javascript
JavaScript window.location对象
Nov 14 Javascript
JS JQUERY实现滚动条自动滚到底的方法
Jan 09 Javascript
微信小程序开发一键登录 获取session_key和openid实例
Nov 23 Javascript
JavaScript易错知识点整理
Dec 05 Javascript
Javascript中字符串replace方法的第二个参数探究
Dec 05 Javascript
基于bootstrap实现收缩导航条
Mar 17 Javascript
详解webpack之scss和postcss-loader的配置
Jan 09 Javascript
详解VUE Element-UI多级菜单动态渲染的组件
Apr 25 Javascript
element-ui中按需引入的实现
Dec 25 Javascript
记一次用ts+vuecli4重构项目的实现
May 21 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
IIS php环境配置PHP5 MySQL5 ZendOptimizer phpmyadmin安装与配置
2008/11/18 PHP
PHP下常用正则表达式整理
2010/10/26 PHP
php 如何获取数组第一个值
2013/08/06 PHP
php源码分析之DZX1.5加密解密函数authcode用法
2015/06/17 PHP
Yii2简单实现多语言配置的方法
2016/07/23 PHP
php微信公众号开发之秒杀
2018/10/20 PHP
js技巧--转义符&quot;\&quot;的妙用
2007/01/09 Javascript
用jquery来定位
2007/02/20 Javascript
无阻塞加载脚本分析[全]
2011/01/20 Javascript
基于jquery的固定表头和列头的代码
2012/05/03 Javascript
JS的Document属性和方法小结
2013/09/17 Javascript
Javascript仿PHP $_GET获取URL中的参数
2014/05/12 Javascript
jQuery常用数据处理方法小结
2015/02/20 Javascript
浅谈javascript的Touch事件
2015/09/27 Javascript
详解JavaScript对Date对象的操作问题(生成一个倒数7天的数组)
2015/10/01 Javascript
跨域资源共享 CORS 详解
2016/04/26 Javascript
AngularJS基础 ng-readonly 指令简单示例
2016/08/02 Javascript
微信小程序 wxapp内容组件 text详细介绍
2016/10/31 Javascript
jQuery插件jquery.kxbdmarquee.js实现无缝滚动效果
2017/02/15 Javascript
VUE开发一个图片轮播的组件示例代码
2017/03/06 Javascript
CentOS 安装NodeJS V8.0.0的方法
2017/06/15 NodeJs
微信小程序三级联动地址选择器的实例代码
2017/07/12 Javascript
vuex实现登录状态的存储,未登录状态不允许浏览的方法
2018/03/09 Javascript
微信小程序实现聊天对话(文本、图片)功能
2018/07/06 Javascript
vue中使用heatmapjs的示例代码(结合百度地图)
2018/09/05 Javascript
angular.js实现列表orderby排序的方法
2018/10/02 Javascript
React Native中ScrollView组件轮播图与ListView渲染列表组件用法实例分析
2020/01/06 Javascript
探索浏览器页面关闭window.close()的使用详解
2020/08/21 Javascript
解决VantUI popup 弹窗不弹出或无蒙层的问题
2020/11/03 Javascript
Python实现打印螺旋矩阵功能的方法
2017/11/21 Python
Python多进程写入同一文件的方法
2019/01/14 Python
HTML5的结构和语义(2):结构
2008/10/17 HTML / CSS
Born鞋子官网:Born Shoes
2017/04/06 全球购物
介绍一下你对SOA的认识
2016/04/24 面试题
学习经验演讲稿
2014/05/10 职场文书
2015年医院工作总结范文
2015/04/09 职场文书