基于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 相关文章推荐
优化innerHTML操作(提高代码执行效率)
Aug 20 Javascript
深入理解JavaScript的React框架的原理
Jul 02 Javascript
jQuery实现一个简单的轮播图
Feb 19 Javascript
bootstrap3-dialog-master模态框使用详解
Aug 22 Javascript
使用canvas进行图像编辑的实例
Aug 29 Javascript
vue2.0 常用的 UI 库实例讲解
Dec 12 Javascript
解决vue中修改了数据但视图无法更新的情况
Aug 27 Javascript
koa2使用ejs和nunjucks作为模板引擎的使用
Nov 27 Javascript
JS实现计算小于非负数n的素数的数量算法示例
Feb 26 Javascript
vue.js+ElementUI实现进度条提示密码强度效果
Jan 18 Javascript
Vuex的API文档说明详解
Feb 05 Javascript
vue 动态添加class,三个以上的条件做判断方式
Nov 02 Javascript
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下操作Linux消息队列完成进程间通信的方法
2010/07/24 PHP
php学习笔记 PHP面向对象的程序设计
2011/06/13 PHP
PHP几个实用自定义函数小结
2016/01/25 PHP
phalcon框架使用指南
2016/02/23 PHP
php使用GD2绘制几何图形示例
2017/02/15 PHP
TP5(thinkPHP框架)实现后台清除缓存功能示例
2019/05/29 PHP
Javascript面向对象扩展库代码分享
2012/03/27 Javascript
JavaScript中伪协议 javascript:使用探讨
2014/07/18 Javascript
PHP中CURL的几个经典应用实例
2015/01/23 Javascript
有关jquery与DOM节点操作方法和属性记录
2016/04/15 Javascript
JS中微信小程序自定义底部弹出框
2016/12/22 Javascript
JavaScript中递归实现的方法及其区别
2017/09/12 Javascript
简单实现jquery隔行变色
2017/11/09 jQuery
vue实现简单loading进度条
2018/06/06 Javascript
nodejs图片处理工具gm用法小结
2018/12/12 NodeJs
微信小程序和百度的语音识别接口详解
2019/05/06 Javascript
layui问题之自动滚动二级iframe页面到指定位置的方法
2019/09/18 Javascript
js DOM的事件常见操作实例详解
2019/12/16 Javascript
python实现合并两个数组的方法
2015/05/16 Python
使用Python生成随机密码的示例分享
2016/02/18 Python
python线程、进程和协程详解
2016/07/19 Python
Python判断两个对象相等的原理
2017/12/12 Python
Python实现中值滤波去噪方式
2019/12/18 Python
Shopping happy life西班牙:以最优惠的价格提供最好的时尚配饰
2020/03/13 全球购物
对于没有初始化的变量的初始值可以作怎样的假定
2014/10/12 面试题
Python面试题:Python是如何进行内存管理的
2014/08/04 面试题
绝对经典成功的大学生推荐信
2013/11/08 职场文书
积极分子思想汇报
2014/01/04 职场文书
人力资源主管职责范本
2014/03/05 职场文书
企业年会主持词
2014/03/27 职场文书
数学系毕业生求职信
2014/05/29 职场文书
校庆标语集锦
2014/06/25 职场文书
医院党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
政风行风整改方案
2014/10/25 职场文书
运动会通讯稿600字
2015/07/20 职场文书
pytest实现多进程与多线程运行超好用的插件
2022/07/15 Python