两种方法实现在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 13 Javascript
javascript 鼠标拖动图标技术
Feb 07 Javascript
jQuery 自动增长的文本输入框实现代码
Apr 02 Javascript
jQuery实现form表单reset按钮重置清空表单功能
Dec 18 Javascript
扒一扒JavaScript 预解释
Jan 28 Javascript
基于JavaScript实现TAB标签效果
Jan 12 Javascript
JavaScript中的原型继承基础学习教程
May 06 Javascript
jquery插件autocomplete用法示例
Jul 01 Javascript
jQuery初级教程之网站品牌列表效果
Aug 02 jQuery
微信小程序实现tab和swiper切换结合效果
Jul 17 Javascript
vue3.0 CLI - 2.1 -  component 组件入门教程
Sep 14 Javascript
vue实现五子棋游戏
May 28 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
中东人咖啡哲学
2021/03/03 咖啡文化
二进制交叉权限微型php类分享
2014/02/07 PHP
php循环table实现一行两列显示的方法
2015/06/04 PHP
关于WordPress的SEO优化相关的一些PHP页面脚本技巧
2015/12/10 PHP
PHP版微信第三方实现一键登录及获取用户信息的方法
2016/10/14 PHP
Yii2框架实现登陆添加验证码功能示例
2018/07/12 PHP
PHP的Trait机制原理与用法分析
2019/10/18 PHP
初窥JQuery(二) 事件机制(1)
2010/11/25 Javascript
javascript鼠标滑过显示二级菜单特效
2020/11/18 Javascript
基于jQuery实现左侧菜单栏可折叠功能
2016/12/27 Javascript
js实现5秒倒计时重新发送短信功能
2017/02/05 Javascript
BootStrap Datepicker 插件修改为默认中文的实现方法
2017/02/10 Javascript
jquery与js实现全选功能的区别
2017/06/11 jQuery
JavaScript屏蔽Backspace键的实现代码
2017/11/02 Javascript
Vue 中文本内容超出规定行数后展开收起的处理的实现方法
2019/04/28 Javascript
Vue SSR 即时编译技术的实现
2020/05/06 Javascript
在vue中配置不同的代理同时访问不同的后台操作
2020/09/11 Javascript
python机器学习理论与实战(五)支持向量机
2018/01/19 Python
对python中使用requests模块参数编码的不同处理方法
2018/05/18 Python
python+splinter自动刷新抢票功能
2018/09/25 Python
python学生信息管理系统(完整版)
2020/04/05 Python
对Python3中dict.keys()转换成list类型的方法详解
2019/02/03 Python
Python将字典转换为XML的方法
2020/08/01 Python
用python对excel进行操作(读,写,修改)
2020/12/25 Python
使用python实现学生信息管理系统
2021/02/25 Python
HTML5中新标签和常用标签详解
2014/03/07 HTML / CSS
用html5绘制折线图的实例代码
2016/03/25 HTML / CSS
网络技术支持面试题
2013/04/22 面试题
高中毕业自我鉴定
2013/12/22 职场文书
个人党性剖析材料
2014/02/03 职场文书
数字化校园建设方案
2014/05/03 职场文书
继续教育个人总结
2015/03/03 职场文书
2015应届毕业生求职信范文
2015/03/20 职场文书
喋血孤城观后感
2015/06/08 职场文书
Django 实现jwt认证的示例
2021/04/30 Python
Python上下文管理器Content Manager
2021/06/26 Python