基于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 相关文章推荐
Iframe 自动适应页面的高度示例代码
Feb 26 Javascript
基于javascript的JSON格式页面展示美化方法
Jul 02 Javascript
javascript实现倒计时(精确到秒)
Jun 26 Javascript
javascript HTML5 canvas实现打砖块游戏
Jun 18 Javascript
Three.js学习之文字形状及自定义形状
Aug 01 Javascript
Bootstrap源码解读媒体对象、列表组和面板(10)
Dec 26 Javascript
js实现添加删除表格(两种方法)
Apr 27 Javascript
vue单页面打包文件大?首次加载慢?nginx带你飞,从7.5M到1.3M蜕变过程(推荐)
Jan 16 Javascript
js操作二进制数据方法
Mar 03 Javascript
微信小程序wepy框架学习和使用心得详解
May 24 Javascript
layui动态表头的实现代码
Aug 22 Javascript
Electron整合React使用搭建开发环境的步骤详解
Jun 07 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实现分页的一个示例
2006/10/09 PHP
自定义php类(查找/修改)xml文档
2013/03/26 PHP
php 地区分类排序算法
2013/07/01 PHP
php+mysql实现用户注册登陆的方法
2015/01/03 PHP
Laravel手动返回错误码示例
2019/10/22 PHP
JavaScript Event学习第四章 传统的事件注册模型
2010/02/07 Javascript
JavaScript高级程序设计 阅读笔记(十七) js事件
2012/08/14 Javascript
js特效,页面下雪的小例子
2013/06/17 Javascript
JQuery.Ajax之错误调试帮助信息介绍
2013/07/04 Javascript
通过一段代码简单说js中的this的使用
2013/07/23 Javascript
jQuery实现DIV层收缩展开的方法
2015/02/27 Javascript
JavaScript实现Java中Map容器的方法
2016/10/09 Javascript
Vue.js创建Calendar日历效果
2016/11/03 Javascript
利用nginx + node在阿里云部署https的步骤详解
2017/12/19 Javascript
基于 Immutable.js 实现撤销重做功能的实例代码
2018/03/01 Javascript
原生javascript AJAX 三级联动的实现代码
2018/05/04 Javascript
微信小程序五子棋游戏的悔棋实现方法【附demo源码下载】
2019/02/20 Javascript
JavaScript实现沿五角星形线摆动的小圆实例详解
2020/07/28 Javascript
vue组件开发之tab切换组件使用详解
2020/08/21 Javascript
JavaScript 中判断变量是否为数字的示例代码
2020/10/22 Javascript
[05:02]2014DOTA2 TI中国区预选赛精彩TOPPLAY第三弹
2014/06/25 DOTA
[00:36]我的中国心——Serenity vs Fnatic
2018/08/21 DOTA
用Python编写web API的教程
2015/04/30 Python
python中管道用法入门实例
2015/06/04 Python
Python 文件管理实例详解
2015/11/10 Python
python爬虫 正则表达式使用技巧及爬取个人博客的实例讲解
2017/10/20 Python
python使用socket实现的传输demo示例【基于TCP协议】
2019/09/24 Python
解决import tensorflow as tf 出错的原因
2020/04/16 Python
浅析Python __name__ 是什么
2020/07/07 Python
python-jwt用户认证食用教学的实现方法
2021/01/19 Python
社团2014年植树节活动总结
2014/03/11 职场文书
停电放假通知
2015/04/14 职场文书
2016春季幼儿园小班开学寄语
2015/12/03 职场文书
初一英语教学反思
2016/02/15 职场文书
2019年干货:自我鉴定
2019/03/25 职场文书
详解Apache SkyWalking 告警配置指南
2021/04/22 Servers