javascript的domReady-类$(document).ready(function()使用方法

来源:互联网 发布:域名怎么防腾讯拦截 编辑:程序博客网 时间:2024/05/29 15:36

javascript的domReady-类$(document).ready(function()使用方法

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)          }        };      }    }  }}

使用方法:
dom.Ready(function(){  alert("我的domReady!")});dom.Ready(function(){  alert("我的domReady测试多重加载1!")});dom.Ready(function(){  alert("我的domReady测试多重加载2!")});dom.Ready(function(){  alert(document.getElementById("test").innerHTML)});


原创粉丝点击