1. 程式人生 > >Javascript實現圖片的預載入的完整實現

Javascript實現圖片的預載入的完整實現

複製程式碼 function preloadimages(arr){   

    var newimages=[], loadedimages=0
    var postaction=function(){}  //此處增加了一個postaction函式    var arr=(typeof arr!="object")? [arr] : arr
    function imageloadpost(){
        loadedimages++
        if (loadedimages==arr.length){
            postaction(newimages) //載入完成用我們呼叫postaction函式並將newimages陣列做為引數傳遞進去

        }
    }
    for (var i=0; i<arr.length; i++){
        newimages[i]=new Image()
        newimages[i].src=arr[i]
        newimages[i].onload=function(){
            imageloadpost()
        }
        newimages[i].onerror=function(){
            imageloadpost()
        }
    }
    return { //此處返回一個空白物件的done方法
        done:function(f){
            postaction=f || postaction
        }
    }
}

  複製程式碼