基于javascript原生判断DOM是否加载完毕
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 '); })
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
JS公共小方法之判断对象是否为domElement的实例
实例如下: function isDOMElement(obj) { return !!(obj && typeof window !== 'undefined' && (obj === window || obj.nodeType)); } 以上这篇JS公共小方法之判断对象是否为domElement的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.
-
如何判断出一个js对象是否一个dom对象
我们在写js代码时有时需要判断某个对象是不是DOM对象,然后再进行后续的操作,这里我给出一种兼容各大浏览器,同时又算是比较稳妥的一种方法. 要判断一个对象是否DOM对象,首先想到的无非就是它是否具有DOM对象的各种属性或特征,比如是否有nodeType属性,有tagName属性,等等.判断的特征越多,也就越可靠,因为毕竟我们自定义的js对象也可以有那些属性.还有其他方法吗? 在DOM Level2标准中定义了一个HTMLElement对象,它规定所有的DOM对象都是HTMLElement的实例,
-
JavaScript判断DOM何时加载完毕的技巧
处理HTML DOM文档存在一个难题是,JavaScript可以在DOM完全加载之前执行,这会给你的代码引发不少的潜在问题.浏览器的渲染和操作顺序大致如下列表: HTML解析完毕 外部脚本和样式表加载完毕 脚本在文档内解析并执行 HTML DOM完全构造起来 图片和外部内容加载 网页完成加载 在网页头部并且从外部文件加载的脚本会在HTML真正构造之前执行.如前所述,这是个至关重要的问题,因为这两处执行的脚本并不能访问还不存在的DOM.幸好,我们还有若干的补救方法. 目前,最常用的级数是完全等待整
-
javascript判断元素存在和判断元素存在于实时的dom中的方法
今天(周六)下午我在公司加班时不知道要干什么,就打开公司的一个wordpress项目网站,想看下之前自己做的一个网页是否有问题. 打开网站首页,我习惯性的打开了chrome的调试工具,然后鼠标开始滚动页面,然后问题就出来了:页面无法向下滚动,调试工具的console里报了好多undefined的错误. 我马上意识到是我写的js代码错误的在首页被执行导致的问题,我的代码大致是这样: if ($('#a')) { // some code ... $('#b').doSomething; // so
-
JS实现利用闭包判断Dom元素和滚动条的方向示例
本文实例讲述了JS实现利用闭包判断Dom元素和滚动条的方向.分享给大家供大家参考,具体如下: 一.判断滚动条的方向,利用闭包首先保存滚动条的位置,然后当滚动时候不断更新滚动初始值,然后通过差指判断方向 function scroll(fn) { //利用闭包判断滚动条滚动的方向 var beforeScrollTop = document.body.scrollTop, fn = fn || function() {}; window.addEventListener("scroll"
-
JS判断指定dom元素是否在屏幕内的方法实例
前言 刷网页的时候,有时会遇到这样一个情景,当某个dom元素滚到可见区域时,它就会展现显示动画,十分有趣.那么这是如何实现的呢? 实现原理 想要实现这个功能,就要知道具体的实现原理.下面直入主题. 我们通过浏览器在浏览一个网页时候是这个样子的,如图所示 页面的长宽,以及各dom的坐标都是静止的,动的是显示窗口坐标而已.所以明白了这个,那么判断一个dom元素是否可见时,就十分简单了. 我们需要知道三个坐标就可知道当前dom是否在可见区域内,分别是 显示窗口的顶部坐标 显示窗口的底部坐标 dom元素
-
如何用js判断dom是否有存在某class的值
例如: <html class="no-js"> <head> </head> <body> </body> </html> 判断html节点的class是否有no-js. 1.jquery的实现方式 $("html").hasClass('no-js'); jquery源码的实现方式: var rclass = /[\t\r\n\f]/g; jQuery.fn.extend({ hasClas
-
JS/jQuery判断DOM节点是否存在的简单方法
JS原生判断DOM节点是否存在页面中 JavaScript原生函数没有提供判断DOM节点是否存在方法,我们通常获取DOM节点几乎都是document.getElement..方法,会返回一个object数组合集,我们可以通过object[0],object[1]这样来访问这个合集的每一个对象.既然返回的是数组合集,那么就有length属性,而length大于等于1即表示DOM节点存在页面中 代码: Object.prototype.exist = function(){ if(typeof th
-
基于javascript原生判断DOM是否加载完毕
readyState document.readyState 返回当前文档的状态,属性如下: uninitialized 还未开始加载 loading 加载中 interactive 已加载,文档与用户可以开始交互 complete 加载完成 DOMContentLoaded 当 DOMContentLoaded事件触发时,仅当DOM加载完成,不包括样式表,图片,flash onload 当 onload 事件触发时,页面上所有的DOM,样式表,脚本,图片,flash都已经加载完成了 根据执行时
-
Js判断CSS文件加载完毕的具体实现
要判断这个 CSS 文件是否加载完毕,各个浏览器的做法差异比较大,这次要说IE浏览器做的不错,我们可以直接通过onload方法来处理CSS加载完成以后的处理: 复制代码 代码如下: // 代码节选至seajsfunction styleOnload(node, callback) { // for IE6-9 and Opera if (node.attachEvent) { node.attachEvent('onload', callback); // NOT
-
详解axios中封装使用、拦截特定请求、判断所有请求加载完毕)
•基于 Promise 的 HTTP 请求客户端,可同时在浏览器和 Node.js 中使用 •vue2.0之后,就不再对 vue-resource 更新,而是推荐使用 axios,本项目也是使用 axios •功能特性 •在浏览器中发送 XMLHttpRequests 请求 •在 node.js 中发送 http请求 •支持 Promise API •拦截请求和响应 •转换请求和响应数据 •取消请求 •自动转换 JSON 数据 •客户端支持保护安全免受 CSRF/XSRF(跨站请求伪造) 攻击
-
原生js检测页面加载完毕的实例
原生js的页面加载完毕的使用方法为 window.onload=function(){ //somecode } 在jquery的影响下的错误写法为: window.onload(function(){ //somecode }) 以上这篇原生js检测页面加载完毕的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.
-
JavaScript & jQuery完美判断图片是否加载完毕
众所周知,常见瀑布流当鼠标滚动到浏览器底部的时候,就会发起一个ajax的请求.在服务端生成item列表后,通过 js append到相应的div里边. 看起来很简单的样子,关键问题就出在图片的加载问题上,图片一般都放在服务器上,通过http下载到客户端. 例如我的图片地址: http://xxx.xxx.com/sc/item/cover/9-4352-c400.jpg 而图片下载到本地是需要一定时间的(网速快的路过).当图片还没有下载完的时候,使用js获取到元素的宽高将会是0. 有的同学说了我
-
JavaScript怎么判断图片是否加载完成以便获取其尺寸
有时需要获取图片的尺寸,这需要在图片加载完成以后才可以,求方法? 一.load事件 复制代码 代码如下: <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>img - load event</title> </head> <body> <img id="img1" src="http:/
-
判断在css加载完毕后执行后续代码示例
最近在写项目的framework,写个JQueryMessageBox的类,以使用jquery ui中的dialog()来显示消息框,为了使方法方便调用,便加入了自动判断页面是否加入了ui.js和ui.css,代码如下: //如果没有包含ui.js,则引用 if ($('script[src$=""jquery-ui-1.8.11.custom.min.js""]').length == 0) {{ $(""<script src='/js
-
JavaScript实现判断图片是否加载完成的3种方法整理
有时候我们在前端开发工作中为了获取图片的信息,需要在图片加载完成后才可以正确的获取到图片的大小尺寸,并且执行相应的回调函数使图片产生某种显示效果.本文主要整理了几种常见的javascipt判断图片加载完成时的方法,并通过代码与实际应用相结合进行解释与说明. onload方法 通过向img标签添加onload属性,并填入相应的函数来执行后续的javascipt代码.如下代码例子中img元素默认是不显示的,通过onload判断加载完成后再将图片显示出来. 复制代码 代码如下: <img class=
-
基于JavaScript实现移动端无限加载分页
本文实例为大家分享了js实现移动端无限加载分页的具体代码,供大家参考,具体内容如下 原理:当滚动条到达底部时,执行下一页内容. 判断条件需要理解三个概念: 1.scrollHeight 真实内容的高度 2.clientHeight 视窗的高度,即在浏览器中所能看到的内容的高度 3.scrollTop 视窗上面隐藏掉的部分,即滚动条滚动的距离 思路: 1.使用fixed定位加载框 2.使用$(window).scroll();方法来触发是否加载 3.通过 真
随机推荐
- html 的 ContentType 小结
- vue实现简单实时汇率计算功能
- java基于servlet实现文件上传功能解析
- Java用jxl读取excel并保存到数据库的方法
- Java多线程编程中synchronized关键字的基础用法讲解
- 2014最热门的JavaScript代码高亮插件推荐
- 在ASP.Net中实现RSA加密的方法
- PHP中mysql_field_type()函数用法
- php验证身份证号码正确性的函数
- 基于PHP静态类的原罪详解
- YII中Ueditor富文本编辑器文件和图片上传的配置图文教程
- 详解Python中的正则表达式的用法
- C#一个方法返回多个值示例
- 详解Android USB转串口通信开发基本流程
- 浅谈pc端rem字体设置的问题
- PHP使用imagick扩展实现合并图像的方法
- jquery京东商城双11焦点图多图广告特效代码分享
- 流氓,就得赶走,一个都不留!
- PHP面向对象程序设计方法实例详解
- android之计时器(Chronometer)的使用以及常用的方法