DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> jQuery入門知識 >> JQuery特效代碼 >> 比Jquery的document.ready更快的方法
比Jquery的document.ready更快的方法
編輯:JQuery特效代碼     
這個是上次在博客園看到的一篇文章,經測試,確實比jquery的$(document).ready(function(){....})更快,並且在ie和火狐等主流浏覽器上都沒問題,

忘了原創是誰了,如果主人看到可以聯系我, 我會立刻加上原文出處的,敬請見諒。

代碼如下:
var jb51 =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)
}
};
}
}
}
}
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved