DOM文档加载完后执行js代码(在图片媒体文件加载之前执行)

function addDomLoad(fn){
    var timer = null;   //定义一个存放定时器的容器
    var isReady = false;    //定义一个索引
    function doReady(){
        if(timer) clearInterval(timer); //如果存在定时器那么删除
        if(isReady) return;     //如果索引为true(已经执行过一遍函数)则直接return 返回出去
        isReady = true;         //定义索引为true表示已经执行过该函数
        fn();
    }

    if(document.addEventListener){  //如果是现代浏览器
        addEvent(document,'DOMContentLoaded',function(){    //有自己的方法直接执行fn函数
            fn();
            removeEvent(document,'DOMContentLoaded',arguments.callee);  //清楚该事件arguments.callee表示当前的函数
        })
    }else{
        timer = setInterval(function(){
            try{
                document.documentElement.doScroll('left');  //如果这里的条件为正确执行下面的程序
                doReady();
            }catch(e){}
        },1)
    }

}
addDomLoad(function(){
    alert(document.getElementById('box'));  //调用方法
})

 

posted @ 2013-06-04 15:24  抱.抱  阅读(489)  评论(0编辑  收藏  举报