比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过滤url参数特殊字符的实现方法
Dec 24 Javascript
js 与 php 通过json数据进行通讯示例
Mar 26 Javascript
JavaScript判断变量是否为数组的方法(Array)
Feb 24 Javascript
JavaScript设计模式经典之命令模式
Feb 24 Javascript
纯js和css完成贪吃蛇小游戏demo
Sep 01 Javascript
js浏览器html5表单验证
Oct 17 Javascript
jQuery得到多个值只能用取Class ,不能用取ID的方法
Dec 04 Javascript
jQuery实现简单弹窗遮罩效果
Feb 27 Javascript
node.js爬虫爬取拉勾网职位信息
Mar 14 Javascript
Vue 组件注册实例详解
Feb 23 Javascript
layui 关闭open弹出框 刷新table表格页面的方法
Sep 16 Javascript
微信小程序自定义tabBar在uni-app的适配详解
Sep 30 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
隐藏你的.php文件的实现方法
2007/03/19 PHP
新浪微博API开发简介之用户授权(PHP基础篇)
2011/09/25 PHP
PHP性能分析工具xhprof的安装使用与注意事项
2017/12/19 PHP
基于php解决json_encode中文UNICODE转码问题
2020/11/10 PHP
JavaScript国旗变换效果代码
2008/08/13 Javascript
js 发个判断字符串是否为符合标准的函数
2009/04/27 Javascript
jQuery实现瀑布流布局
2014/12/12 Javascript
如何屏蔽防止别的网站嵌入框架代码
2015/08/24 Javascript
Bootstrap Metronic完全响应式管理模板之菜单栏学习笔记
2016/07/08 Javascript
jQuery实现的超链接提示效果示例【附demo源码下载】
2016/09/09 Javascript
JavaScript易错知识点整理
2016/12/05 Javascript
基于vue2.0+vuex的日期选择组件功能实现
2017/03/13 Javascript
vue 挂载路由到头部导航的方法
2017/11/13 Javascript
微信小程序表单弹窗实例
2018/07/19 Javascript
微信小程序实现商品属性联动选择
2019/02/15 Javascript
Javascript之高级数组API的使用实例
2019/03/08 Javascript
python爬虫获取多页天涯帖子
2018/02/23 Python
Python实现线程状态监测简单示例
2018/03/28 Python
利用python将图片版PDF转文字版PDF
2019/05/03 Python
对pyqt5中QTabWidget的相关操作详解
2019/06/21 Python
简单了解python 生成器 列表推导式 生成器表达式
2019/08/22 Python
Python 共享变量加锁、释放详解
2019/08/28 Python
Python 中使用 PyMySQL模块操作数据库的方法
2019/11/10 Python
会走动的图形html5时钟示例
2014/04/27 HTML / CSS
高级运动鞋:GREATS
2019/07/19 全球购物
程序员机试试题汇总
2012/03/07 面试题
教师档案管理制度
2014/01/23 职场文书
销售员求职个人的自我评价
2014/02/19 职场文书
银行委托书范本
2014/04/04 职场文书
《小动物过冬》教学反思
2014/04/17 职场文书
四风对照检查材料思想汇报
2014/09/20 职场文书
2014年健康教育工作总结
2014/11/20 职场文书
客房部经理岗位职责
2015/02/02 职场文书
《草船借箭》教学反思
2016/02/23 职场文书
技术入股协议书
2016/03/22 职场文书
Win11安装升级时提示“该电脑必须支持安全启动”
2022/04/19 数码科技