2014-10-06 214 views
3

我不是指任:如何檢查已加載的圖像是否已加載JavaScript?

var img = document.getElementById('someimage'); 
img.onload = function() {.....}; 

或:

$("#someimage").load(function(){...}); 

請糾正我,如果我錯了但筆者認爲,上述兩個選項只有工作,如果圖像有尚未加載到任何這些函數被調用時。

如果#someimage在調用上述函數之一時已經加載,則該函數將無法執行。

我可以創建,保持檢查圖像的高度和寬度,只要其中沒有一個是等於零,則考慮圖像爲已加載的時間間隔:

var checkImg = setInterval (function ($img, cb) 
{ 
    if (($img.height() > 0) && ($img.width() > 0)) 
    { 
     clearInterval(checkImg); 
     cb(); 
    } 
}, 200); 

我已經試過這並且在圖像的高度和寬度達到它們的最大值之前顯然評估了它並不起作用。

我可以檢查圖像的高度和寬度是否正確,但我可能不知道圖像的高度和寬度。我也想避免使用magic numbers

有什麼建議嗎?

謝謝!

回答