基于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 相关文章推荐
jquery实现的鼠标下拉滚动置顶效果
Jul 24 Javascript
jquery渐隐渐显的图片幻灯闪烁切换实现方法
Feb 26 Javascript
js正则表达式中exec用法实例
Jul 23 Javascript
Bootstrap3制作图片轮播效果
May 12 Javascript
使用jQuery实现Web页面换肤功能的要点解析
May 12 Javascript
js中scrollTop()方法和scroll()方法用法示例
Oct 03 Javascript
详解Node.js中的Async和Await函数
Feb 22 Javascript
微信小程序实现滴滴导航tab切换效果
Jul 24 Javascript
ES6知识点整理之模块化的应用详解
Apr 15 Javascript
微信小程序网络请求实现过程解析
Nov 06 Javascript
vue大型项目之分模块运行/打包的实现
Sep 21 Javascript
用JS实现飞机大战小游戏
Jun 09 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
重料打造自己的“宝马”---第三代
2021/03/02 无线电
php 常用字符串函数总结
2008/03/15 PHP
并发下常见的加锁及锁的PHP具体实现代码
2010/10/12 PHP
PHP实现获取并生成数据库字典的方法
2016/05/04 PHP
防止网站内容被拷贝的一些方法与优缺点好处与坏处分析
2007/11/30 Javascript
jQuery实现页面滚动时层智能浮动定位实例探讨
2013/03/29 Javascript
window.event.keyCode兼容IE和Firefox实现js代码
2013/05/30 Javascript
JS格式化数字保留两位小数点示例代码
2013/10/15 Javascript
javascript得到当前页的来路即前一页地址的方法
2014/02/18 Javascript
json实现前后台的相互传值详解
2015/01/05 Javascript
谈谈JavaScript中function多重理解
2015/08/28 Javascript
jQuery遍历json的方法分析
2016/04/16 Javascript
玩转JavaScript OOP - 类的实现详解
2016/06/08 Javascript
jQuery leonaScroll 1.1 自定义滚动条插件(推荐)
2016/09/17 Javascript
Angular2数据绑定详解
2017/04/18 Javascript
jQuery Ajax自定义分页组件(jquery.loehpagerv1.0)实例详解
2017/05/01 jQuery
JavaScript中使用import 和require打包后实现原理分析
2018/03/07 Javascript
JavaScript设计模式之职责链模式应用示例
2018/08/07 Javascript
python:socket传输大文件示例
2017/01/18 Python
关于Python数据结构中字典的心得
2017/12/04 Python
python装饰器-限制函数调用次数的方法(10s调用一次)
2018/04/21 Python
Python实现直方图均衡基本原理解析
2019/08/08 Python
python 计算概率密度、累计分布、逆函数的例子
2020/02/25 Python
django在开发中取消外键约束的实现
2020/05/20 Python
Python xlwt模块使用代码实例
2020/06/10 Python
CSS3图片旋转特效(360/60/-360度)
2013/10/10 HTML / CSS
CSS3点击按钮实现背景渐变动画效果
2016/10/19 HTML / CSS
html5中去掉input type date默认样式的方法
2018/09/06 HTML / CSS
Perfume’s Club法国站:购买香水和化妆品
2019/05/02 全球购物
SQL Server里面什么样的视图才能创建索引
2015/04/17 面试题
Python面试题:Python是如何进行内存管理的
2014/08/04 面试题
市政施工员自我鉴定
2014/01/15 职场文书
《晏子使楚》教学反思
2014/02/08 职场文书
2014年高考决心书
2014/03/11 职场文书
中秋晚会致辞
2015/07/31 职场文书