标签:
原视频参考http://www.imooc.com/learn/488
--博主个人尝试学习写的--
/** * Created by ty on 2016/1/3. */ //尝试自己写domready函数 function myReady(fn){ /*fn是ready后执行的函数*/ if(document.addEventListener){ document.addEventListener("DOMContentLoaded", fn, false); }else { IEDomReady(fn); } /*IE模拟DOMContentloaded*/ function IEDomReady(fn){ var d = window.document; var done = false; //只执行1次用户的回调函数init(); function init(){ if(!done){ done = true; fn(); } }; (function(){ try { //DOM树为创建完成之前调用doScroll会抛出错误 d.documentElement.doScroll("left"); }catch(e){ //延迟再试一次 //arguments.callee是调用自身 setTimeout(arguments.callee,50); return; } // 没有错误就表示DOM树创建完毕,然后立马执行用户回调 init(); })(); //监听document的加载状态 d.onreadystatechange = function(){ //如果用户是在domReady之后绑定的函数,就立马执行 if(d.readyState == "complete"){ d.onreadystatechange = null; init(); } } } }
标签:
原文地址:http://www.cnblogs.com/hamsterPP/p/domReady.html