首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

在Dom树加载后施行,jQuery中的ready

2012-10-27 
在Dom树加载后执行,jQuery中的ready(function(){var isReadyfalse//判断onDOMReady方法是否已经被执行过

在Dom树加载后执行,jQuery中的ready

(function(){        var isReady=false;//判断onDOMReady方法是否已经被执行过        var readyList= [];//把需要执行的方法先暂存在这个数组里        var timer;//定时器句柄        ready=function(fn) {               if (isReady )                      fn.call( document);               else                      readyList.push( function() { return fn.call(this);});               return this;        }        var onDOMReady=function(){               for(var i=0;i<readyList.length;i++){                      readyList[i].apply(document);               }               readyList = null;        }        var bindReady = function(evt){               if(isReady) return;               isReady=true;               onDOMReady.call(window);               if(document.removeEventListener){                      document.removeEventListener("DOMContentLoaded", bindReady, false);               }else if(document.attachEvent){                      document.detachEvent("onreadystatechange", bindReady);                      if(window == window.top){                             clearInterval(timer);                             timer = null;                      }               }        };        if(document.addEventListener){               document.addEventListener("DOMContentLoaded", bindReady, false);        }else if(document.attachEvent){               document.attachEvent("onreadystatechange", function(){                      if((/loaded|complete/).test(document.readyState))                             bindReady();               });               if(window == window.top){                      timer = setInterval(function(){                             try{                                    //在IE下用能否执行doScroll判断dom是否加载完毕                                   isReady||document.documentElement.doScroll('left');                             }catch(e){                                    return;                             }                             bindReady();                      },5);               }        }})();


使用:

1、ready(fun);//fun为以有方法

2、ready(function(){alert(1)})

热点排行