比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 相关文章推荐
JavaScript的Function详细
Nov 14 Javascript
javascript 设计模式之单体模式 面向对象学习基础
Apr 18 Javascript
js 文件引入实现代码
Apr 23 Javascript
Json对象替换字符串占位符实现代码
Nov 17 Javascript
jquery 页眉单行信息滚动显示实现思路及代码
Jun 26 Javascript
谈谈javascript中使用连等赋值操作带来的问题
Nov 26 Javascript
JS实现兼容各种浏览器的高级拖动方法完整实例【测试可用】
Jun 21 Javascript
webpack+vue.js快速入门教程
Oct 12 Javascript
vue2.x 父组件监听子组件事件并传回信息的方法
Jul 17 Javascript
vue添加axios,并且指定baseurl的方法
Sep 19 Javascript
vue实现整屏滚动切换
Jun 29 Javascript
vue-cli4.5.x快速搭建项目
May 30 Vue.js
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
一个可查询所有表的“通用”查询分页类
2006/10/09 PHP
Thinkphp 框架扩展之数据库驱动常用方法小结
2020/04/23 PHP
JavaScript 无符号右移运算符
2009/04/17 Javascript
JavaScript 自动完成脚本整理(33个)
2009/10/20 Javascript
使用正则表达式的格式化与高亮显示json字符串
2014/12/03 Javascript
jQuery实现彩带延伸效果的网页加载条loading动画
2015/10/29 Javascript
jQuery遍历DOM元素与节点方法详解
2016/04/14 Javascript
js判断主流浏览器类型和版本号的简单实现代码
2016/05/26 Javascript
JavaScript中的子窗口与父窗口的互相调用问题
2017/02/08 Javascript
基于easyui checkbox 的一些操作处理方法
2017/07/10 Javascript
基于JavaScript实现图片连播和联级菜单实例代码
2017/07/28 Javascript
解决vue+element 键盘回车事件导致页面刷新的问题
2018/08/25 Javascript
JavaScript JMap类定义与使用方法示例
2019/01/22 Javascript
d3.js实现图形拖拽
2019/12/19 Javascript
小程序中设置缓存过期的实现方法
2020/01/14 Javascript
浅谈vue的第一个commit分析
2020/06/08 Javascript
Python numpy生成矩阵、串联矩阵代码分享
2017/12/04 Python
Python闭包之返回函数的函数用法示例
2018/01/27 Python
Django 重写用户模型的实现
2019/07/29 Python
opencv 获取rtsp流媒体视频的实现方法
2019/08/23 Python
python求质数列表的例子
2019/11/24 Python
Python面向对象之继承原理与用法案例分析
2019/12/31 Python
python实现连连看游戏
2020/02/14 Python
Django ValuesQuerySet转json方式
2020/03/16 Python
Python reques接口测试框架实现代码
2020/07/28 Python
python性能测试工具locust的使用
2020/12/28 Python
zooplus波兰:在线宠物店
2019/07/21 全球购物
英国领先的新鲜松露和最好的松露产品供应商:TruffleHunter
2019/08/26 全球购物
机械电子工程专业推荐信范文
2013/11/20 职场文书
大学生找工作推荐信范文
2013/11/28 职场文书
个人简历自荐信
2013/12/05 职场文书
历史专业大学生职业生涯规划书
2014/03/13 职场文书
二年级学生评语大全
2014/04/23 职场文书
写给父母的感谢信
2015/01/22 职场文书
公务员政审个人总结
2015/02/12 职场文书
小学三年级作文之写景
2019/11/05 职场文书