比Jquery的document.ready更快的方法


Posted in Javascript onApril 28, 2010

这个是上次在博客园看到的一篇文章,经测试,确实比jquery的$(document).ready(function(){....})更快,并且在ie和火狐等主流浏览器上都没问题,

忘了原创是谁了,如果主人看到可以联系我, 我会立刻加上原文出处的,敬请见谅。

var 3water =new function() { 
dom = []; 
dom.isReady = false; 
dom.isFunction = function(obj) { 
return Object.prototype.toString.call(obj) === "[object Function]"; 
} 
dom.Ready = function(fn) { 
dom.initReady(); 
//如果没有建成DOM树,则走第二步,存储起来一起杀 
if (dom.isFunction(fn)) { 
if (dom.isReady) { 
fn(); 
//如果已经建成DOM,则来一个杀一个 
} else { 
dom.push(fn); 
//存储加载事件 
} 
} 
} 
dom.fireReady = function() { 
if (dom.isReady) return; 
dom.isReady = true; 
for (var i = 0, n = dom.length; i < n; i++) { 
var fn = dom[i]; 
fn(); 
} 
dom.length = 0; 
//清空事件 
} 
dom.initReady = function() { 
if (document.addEventListener) { 
document.addEventListener("DOMContentLoaded", 
function() { 
document.removeEventListener("DOMContentLoaded", arguments.callee, false); 
//清除加载函数 
dom.fireReady(); 
}, 
false); 
} else { 
if (document.getElementById) { 
document.write("<script id=\"ie-domReady\" defer='defer'src=\"//:\"><\/script>"); 
document.getElementById("ie-domReady").onreadystatechange = function() { 
if (this.readyState === "complete") { 
dom.fireReady(); 
this.onreadystatechange = null; 
this.parentNode.removeChild(this) 
} 
}; 
} 
} 
} 
}
Javascript 相关文章推荐
js异或加解密效果代码
Jun 25 Javascript
百度 popup.js 完美修正版非常的不错 脚本之家推荐
Apr 17 Javascript
javascript 简练的几个函数
Aug 29 Javascript
原生javascript实现图片轮播效果代码
Sep 03 Javascript
Jquery chosen动态设置值实例介绍
Aug 08 Javascript
BootStrap 图片样式、辅助类样式和CSS组件的实例详解
Jan 20 Javascript
详解使用webpack构建多页面应用
Dec 21 Javascript
vue的toast弹窗组件实例详解
May 14 Javascript
vue ssr 指南详读
Jun 29 Javascript
jQuery判断自定义属性data-val用法示例
Jan 07 jQuery
JavaScript实现的滚动公告特效【基于jQuery】
Jul 10 jQuery
手写Spirit防抖函数underscore和节流函数lodash
Mar 22 Javascript
ExtJS Store的数据访问与更新问题
Apr 28 #Javascript
JS 事件绑定函数代码
Apr 28 #Javascript
javaScript checkbox 全选/反选及批量删除
Apr 28 #Javascript
JavaScript 类的定义和引用 JavaScript高级培训 自定义对象
Apr 27 #Javascript
jQuery EasyUI 中文API Layout(Tabs)
Apr 27 #Javascript
基于jquery实现的服务器验证控件的启用和禁用代码
Apr 27 #Javascript
jQuery 表格插件整理
Apr 27 #Javascript
You might like
第一个无线电台是由谁发明的
2021/03/01 无线电
亲密接触PHP之PHP语法学习笔记1
2006/12/17 PHP
php实现网站顶踩功能的完整前端代码
2015/07/19 PHP
将PHP程序中返回的JSON格式数据用gzip压缩输出的方法
2016/03/03 PHP
很可爱的输入框
2008/08/03 Javascript
javascript 动态数据下的锚点错位问题解决方法
2008/12/24 Javascript
javascript 当前日期转化为中文的实现代码
2010/05/13 Javascript
js分解url参数(面向对象-极简主义法应用)
2012/08/09 Javascript
jquery.ui.draggable中文文档(原文翻译)
2013/11/15 Javascript
jquery validate 自定义验证方法介绍 日期验证
2014/02/27 Javascript
使用jQuery jqPlot插件绘制柱状图
2014/12/18 Javascript
jQuery中removeProp()方法用法实例
2015/01/05 Javascript
javacript使用break内层跳出外层循环分析
2015/01/12 Javascript
JavaScript事件委托用法分析
2015/01/24 Javascript
jQuery异步提交表单实例
2017/05/30 jQuery
基于Jquery Ajax type的4种类型(详解)
2017/08/02 jQuery
Popup弹出框添加数据实现方法
2017/10/27 Javascript
在vue项目中引入vue-beauty操作方法
2019/02/11 Javascript
微信公众号获取用户地理位置并列出附近的门店的示例代码
2019/07/25 Javascript
详解JavaScript之ES5的继承
2020/07/08 Javascript
IDEA配置jQuery, $符号不再显示黄色波浪线的问题
2020/10/09 jQuery
Python使用回溯法子集树模板获取最长公共子序列(LCS)的方法
2017/09/08 Python
python使用邻接矩阵构造图代码示例
2017/11/10 Python
python匹配两个短语之间的字符实例
2018/12/25 Python
Python 实现自动登录+点击+滑动验证功能
2020/06/10 Python
Django自带的用户验证系统实现
2020/12/18 Python
数百万免费的图形资源:Freepik
2020/09/21 全球购物
集团公司人力资源部岗位职责
2014/01/03 职场文书
《最大的“书”》教学反思
2014/02/14 职场文书
2014年毕业演讲稿范文
2014/05/13 职场文书
师德师风整改措施
2014/10/24 职场文书
员工给公司的建议书
2019/06/24 职场文书
曾国藩励志经典名言37句,蕴含哲理
2019/10/14 职场文书
Python如何识别银行卡卡号?
2021/06/10 Python
SQL使用复合索引实现数据库查询的优化
2022/05/25 SQL Server
MySQL数据库表约束讲解
2022/06/21 MySQL