これは前回ブログパークで見た記事ですが、試してみると確かに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 ツリーが構築されていない場合は、2 番目のステップに進み、ストアしますそれを一緒に強制終了します
if (dom.isFunction(fn)) {
if (dom.isReady) {
fn()
//DOM が構築されている場合は、次の方法で 1 つ強制終了します。 one
} else {
dom.push(fn);
//ストレージ読み込みイベント
}
}
}
dom.fireReady = function() {
if (dom.isReady) return ;
dom.isReady = true;
for (var i = 0, n = dom.length; i
var fn = dom[ i];
fn( );
}
dom.length = 0;
//イベントをクリア
}
dom.initReady = function() {
if ( document.addEventListener) {
document.addEventListener("DOMContentLoaded",
function() {
document.removeEventListener("DOMContentLoaded", argument.callee, false);
// 読み込み関数をクリアします
dom.fireReady();
},
} else {
if (document.getElementById) {
document.write("");
document.getElementById("ie-domReady").onreadystatechange = function() {
if (this.readyState === "complete ") {
dom.fireReady();
this.onreadystatechange = null;
this.parentNode.removeChild(this)
}
};
}
}
}
}