js页面加载后执行的几种方式小结


Posted in Javascript onJanuary 30, 2020

在实际应用中往往需要在页面加载完毕之后再去执行相关的js代码,之所以这么操作是有道理的,如果是操作dom元素,如果相关元素没有加载完成,而去执行js代码,可能会导致错误,下面就介绍一下如何实现页面加载完成再去执行代码,这是最为基础的知识了,可能初学者还不太了解,寄希望能够给需要的朋友带来一定帮助。

一.window.onload事件:

代码如下:

原生js

window.onload=function(){
 //code
}

jquery

$(window).load(function(){
//code
});

当页面完全加载完毕之后再去执行code代码。说明页面需要dom操作,必须到最后才可以执行。

二.使用jQuery的ready事件:

$(document).ready(function() { 
 //code
});

一般

(function () {
//code
}
})();

当稳当结构加载完毕再去执行code代码。

通用的页面加载后再运行JS有两种方式:1、在DOM加载完毕后,页面全部内容(如图片等)完全加载完毕前运行JS。 2、在页面全部内容加载完成(包括引用文件,图片等)之后再加载JS

1、在DOM加载后,全部内容加载前运行
这种方式在同一文件中可以运行多个且不会覆盖。

由于在$(document).ready()方法只要DOM就绪就会被执行,因此可能此时元素的关联文件未下载完。例如与图片有关的HTML下载完毕,并且已经解析为DOM树了,但很有可能图片还未加载完毕,所以例如图片的高度和宽度这样的属性此时不一定有效。要解决这个问题,可以使用Jquery中 load()方法在需要的文件加载完毕后对其进行操作。

$(document).ready(function(){});
$().ready(function(){})

//简写 当$()不带参数时默认就是document
$(function(){});

//简写

2、在全部内容加载后运行
这种方式中只能执行一个 onload代码,当文件由多个onload或者load,只加载最后一个,前面的将会被覆盖且前面的onload里面的代码不会执行。

window.onload = function(){}; // —-js
$(window).load(function(){});

//---jquery

3、DOM文档加载步骤

1.解析HTML结构
2.加载外部的脚本和样式文件
3.解析并执行脚本代码
4.执行$(function(){})内对应代码
5.加载图片等二进制资源
6.页面加载完毕,执行window.onload

补充:

1:$(function){};

2:$(document).ready(function(){});

3:$(window).load(function(){});

4:window.onload = function(){};

5:在标签上静态绑定onload事件,<body onload="aaa()">等待body加载完成,就会执行aaa()方法。

注:第1种是第2种的简写方式。两个是document加载完成后就执行方法。第3种和第4种都是等到整个window加载完成执行方法体。两者也没有区别,只是一个使用dom对象,一个使用jQuery对象。

执行顺序:1和2无论放在哪里都是最先执行,3和4在其之后执行,5最后执行

Javascript 相关文章推荐
JQueryiframe页面操作父页面中的元素与方法(实例讲解)
Nov 19 Javascript
JS判断客户端是手机还是PC的2个代码
Apr 12 Javascript
一个字符串反转函数可实现字符串倒序
Sep 15 Javascript
Jquery对select的增、删、改、查操作
Feb 06 Javascript
js设置document.domain实现跨域的注意点分析
May 21 Javascript
基于jQuery Circlr插件实现产品图片360度旋转
Sep 20 Javascript
深入理解选择框脚本[推荐]
Dec 13 Javascript
JS简单判断函数是否存在的方法
Feb 13 Javascript
vue父子组件的数据传递示例
Mar 07 Javascript
vue-cli2.0转3.0之项目搭建的详细步骤
Dec 11 Javascript
详解vue.js移动端配置flexible.js及注意事项
Apr 10 Javascript
react实现同页面三级跳转路由布局
Sep 26 Javascript
javascript设计模式之装饰者模式
Jan 30 #Javascript
原生js+ajax分页组件
Jan 30 #Javascript
javascript设计模式之迭代器模式
Jan 30 #Javascript
通过Kettle自定义jar包供javascript使用
Jan 29 #Javascript
用js限制网页只在微信浏览器中打开(或者只能手机端访问)
Dec 24 #Javascript
vue引用外部JS的两种种方法
Jan 28 #Javascript
Java Varargs 可变参数用法详解
Jan 28 #Javascript
You might like
Apache2 httpd.conf 中文版
2006/12/06 PHP
php中处理模拟rewrite 效果
2006/12/09 PHP
php快速url重写更新版[需php 5.30以上]
2010/04/25 PHP
关于session在PHP5的配置文件中的详细设置参数说明
2011/04/20 PHP
针对多用户实现头像上传功能PHP代码 适用于登陆页面制作
2016/08/17 PHP
thinkphp5.1框架实现格式化mysql时间戳为日期的方式小结
2019/10/10 PHP
共享自己写一个框架DreamScript
2007/01/20 Javascript
禁用键盘上的(全局)指定键兼容iE、Chrome、火狐
2013/05/14 Javascript
jquery验证邮箱格式并显示提交按钮
2015/11/07 Javascript
jquery事件的ready()方法使用详解
2015/11/11 Javascript
NodeJS中的MongoDB快速入门详细教程
2016/11/11 NodeJs
Vue.js双向绑定实现原理详解
2016/12/22 Javascript
javacript replace 正则取字符串中的值并替换【推荐】
2018/09/13 Javascript
详解一个小实例理解js原型和继承
2019/04/24 Javascript
JQuery实现简单的复选框树形结构图示例【附源码下载】
2019/07/16 jQuery
深入理解python中函数传递参数是值传递还是引用传递
2017/11/07 Python
python2与python3中关于对NaN类型数据的判断和转换方法
2018/10/30 Python
Python3 合并二叉树的实现
2019/09/30 Python
基于Python实现签到脚本过程解析
2019/10/25 Python
Python常用数据分析模块原理解析
2020/07/20 Python
Python猫眼电影最近上映的电影票房信息
2020/09/18 Python
iframe跨域的几种常用方法
2019/11/11 HTML / CSS
阿玛尼美国官方网站:Armani.com
2016/11/25 全球购物
洲际酒店集团美国官网:IHG美国
2017/11/16 全球购物
意大利顶级奢侈品电商:LUISAVIAROMA(支持中文)
2020/05/26 全球购物
Shell编程面试题
2016/05/29 面试题
金融专业大学生自我评价
2014/01/09 职场文书
小学毕业家长寄语
2014/01/19 职场文书
商场开业庆典策划方案
2014/06/02 职场文书
2014年社区计生工作总结
2014/11/18 职场文书
工程部岗位职责范本
2015/04/11 职场文书
辩论赛新闻稿
2015/07/17 职场文书
2016寒假社会实践心得体会范文
2015/10/09 职场文书
听课评课活动心得体会
2016/01/15 职场文书
培训心得体会怎么写
2016/01/25 职场文书
CSS3鼠标悬浮过渡缩放效果
2021/04/17 HTML / CSS