基于javascript原生判断DOM是否加载完毕


Posted in Javascript onOctober 14, 2020

readyState

document.readyState 返回当前文档的状态,属性如下:

  • uninitialized 还未开始加载
  • loading 加载中
  • interactive 已加载,文档与用户可以开始交互
  • complete 加载完成

DOMContentLoaded

当 DOMContentLoaded事件触发时,仅当DOM加载完成,不包括样式表,图片,flash

onload

当 onload 事件触发时,页面上所有的DOM,样式表,脚本,图片,flash都已经加载完成了

根据执行时DOM是否已经装载完毕来决定是对回调函数进行同步调用还是异步调用。具体代码如下:

function onReady(fn){
  var readyState = document.readyState;
  if(readyState === 'interactive' || readyState === 'complete') {
  fn()
 }else{
   window.addEventListener("DOMContentLoaded",fn);
  }

}

onReady(function(){
 console.log('DOM fully loaded and parsed ');
 })

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
小议Function.apply() 之一------(函数的劫持与对象的复制)
Nov 30 Javascript
基于jquery的一个OutlookBar类,动态创建导航条
Nov 19 Javascript
JS画5角星方法介绍
Sep 17 Javascript
jquery实现checkbox 全选/全不选的通用写法
Feb 22 Javascript
jQuery Validate验证框架经典大全
Sep 23 Javascript
学习使用bootstrap基本控件(table、form、button)
Apr 12 Javascript
微信小程序 解决swiper不显示图片的方法
Jan 04 Javascript
jquery PrintArea 实现票据的套打功能(代码)
Mar 17 Javascript
ES6使用let命令更简单的实现块级作用域实例分析
Mar 31 Javascript
详解JavaScript中的坐标和距离
May 27 Javascript
基于better-scroll 实现歌词联动功能的代码
May 07 Javascript
jQuery实现图片切换效果
Oct 19 jQuery
JavaScript常用进制转换及位运算实例解析
Oct 14 #Javascript
Vue实现鼠标经过文字显示悬浮框效果的示例代码
Oct 14 #Javascript
JavaScript本地储存:localStorage、sessionStorage、cookie的使用
Oct 13 #Javascript
原生JS实现相邻月份日历
Oct 13 #Javascript
jquery简易手风琴插件的封装
Oct 13 #jQuery
原生js实现照片墙效果
Oct 13 #Javascript
js轮播图之旋转木马效果
Oct 13 #Javascript
You might like
php中获取关键词及所属来源搜索引擎名称的代码
2011/02/15 PHP
PHP函数extension_loaded()用法实例
2015/01/19 PHP
基于ThinkPHP实现批量删除
2015/12/18 PHP
PHP封装mysqli基于面向对象的mysql数据库操作类与用法示例
2019/02/25 PHP
php的lavarel框架中join和orWhere的用法
2020/12/28 PHP
转自Jquery官方 jQuery1.1.3发布,速度提升800%,体积保持20K
2007/08/19 Javascript
css把超出的部分显示为省略号的方法兼容火狐
2008/07/23 Javascript
jQuery 方法大全方便学习参考
2010/02/25 Javascript
仅用[]()+!等符号就足以实现几乎任意Javascript代码
2010/03/01 Javascript
Jquery上传插件 uploadify v3.1使用说明
2012/06/18 Javascript
js处理json以及字符串的比较等常用操作
2013/09/08 Javascript
在线一元二次方程计算器实例(方程计算器在线计算)
2013/12/22 Javascript
jQ处理xml文件和xml字符串的方法(详解)
2016/11/22 Javascript
Angular4学习教程之DOM属性绑定详解
2018/01/04 Javascript
Node.js实现mysql连接池使用事务自动回收连接的方法示例
2018/02/03 Javascript
浅析Vue中method与computed的区别
2018/03/06 Javascript
JavaScript设计模式之构造器模式(生成器模式)定义与用法实例分析
2018/07/26 Javascript
angular-tree-component的使用详解
2018/07/30 Javascript
node.js使用fs读取文件出错的解决方案
2019/10/23 Javascript
[00:12]2018DOTA2亚洲邀请赛 Sccc亮相SOLO赛,今年他又会有什么样的战绩?
2018/04/06 DOTA
python getopt 参数处理小示例
2009/06/09 Python
Python正确重载运算符的方法示例详解
2017/08/27 Python
Python这样操作能存储100多万行的xlsx文件
2019/04/16 Python
使用python+whoosh实现全文检索
2019/12/09 Python
Tensorflow 定义变量,函数,数值计算等名字的更新方式
2020/02/10 Python
python如何进行矩阵运算
2020/06/05 Python
Dr. Martens马汀博士澳大利亚官网:马丁靴鼻祖
2019/07/02 全球购物
西班牙鞋子和箱包在线销售网站:zapatos.es
2020/02/17 全球购物
临床医师个人自我评价
2014/04/06 职场文书
护士优质服务演讲稿
2014/08/26 职场文书
十八大宣传标语
2014/10/09 职场文书
学校国庆节活动总结
2015/03/23 职场文书
2015年大学班级工作总结
2015/04/28 职场文书
Python djanjo之csrf防跨站攻击实验过程
2021/05/14 Python
javascript canvas实现雨滴效果
2021/06/09 Javascript
Vue自定义铃声提示音组件的实现
2022/01/22 Vue.js