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 相关文章推荐
dojo学习第二天 ajax异步请求之绑定列表
Aug 29 Javascript
js判断生效时间不得大于失效时间的思路及代码
Apr 23 Javascript
浅析JQuery获取和设置Select选项的常用方法总结
Jul 04 Javascript
js中style.display=&quot;&quot;无效的解决方法
Oct 30 Javascript
浅谈轻量级js模板引擎simplite
Feb 13 Javascript
JS实现简洁、全兼容的拖动层实例
May 13 Javascript
浅谈jQuery中setInterval()方法
Jul 07 Javascript
详解JavaScript对Date对象的操作问题(生成一个倒数7天的数组)
Oct 01 Javascript
jQuery获取同级元素的简单代码
Jul 09 Javascript
使用vue编写一个点击数字计时小游戏
Aug 31 Javascript
vue forEach循环数组拿到自己想要的数据方法
Sep 21 Javascript
基于JavaScript实现表格隔行换色
May 08 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
PHP+Mysql+jQuery实现发布微博程序 jQuery篇
2011/10/08 PHP
基于PHP 面向对象之成员方法详解
2013/05/04 PHP
php include类文件超时问题处理
2015/02/06 PHP
ThinkPHP表单令牌错误的相关解决方法分析
2016/05/20 PHP
php 如何设置一个严格控制过期时间的session
2017/05/05 PHP
php7性能提升的原因详解
2019/10/13 PHP
javascript 面向对象编程 聊聊对象的事
2009/09/17 Javascript
express的中间件basicAuth详解
2014/12/04 Javascript
javascript中parseInt()函数的定义和用法分析
2014/12/20 Javascript
《JavaScript DOM 编程艺术》读书笔记之JavaScript 图片库
2015/01/09 Javascript
javascript关于运动的各种问题经典总结
2015/04/27 Javascript
浅谈window对象的scrollBy()方法
2015/07/15 Javascript
学习JavaScript设计模式之装饰者模式
2016/01/19 Javascript
关于json字符串与实体之间的严格验证代码
2016/11/10 Javascript
分类解析jQuery选择器
2016/11/23 Javascript
jQuery实现的简单拖动层示例
2017/02/22 Javascript
完美实现js焦点轮播效果(二)(图片可滚动)
2017/03/07 Javascript
vue.js组件之间传递数据的方法
2017/07/10 Javascript
Vue使用vue-cli创建项目
2017/09/01 Javascript
jQuery 改变P标签文本值方法
2018/02/24 jQuery
vue2.0+vuex+localStorage代办事项应用实现详解
2018/05/31 Javascript
Python实现求解一元二次方程的方法示例
2018/06/20 Python
OpenCV 之按位运算举例解析
2020/06/19 Python
利用keras使用神经网络预测销量操作
2020/07/07 Python
python爬虫爬取图片的简单代码
2021/01/18 Python
荷兰优雅女装网上商店:Heine
2016/11/14 全球购物
Spartoo荷兰:鞋子、包包和服装
2018/07/12 全球购物
新西兰廉价汽车租赁:Snap Rentals
2018/09/14 全球购物
什么造成了Java里面的异常
2016/04/24 面试题
C语言笔试题回忆
2015/04/02 面试题
网络安全方面的面试题
2016/01/07 面试题
辩论赛主持词
2014/03/18 职场文书
小学学校评估方案
2014/06/08 职场文书
三峡导游词
2015/01/31 职场文书
养成教育工作总结
2015/08/13 职场文书
该怎么书写道歉信?
2019/07/03 职场文书