2012-01-22 20 views
0

我正在嘗試編寫JavaScript來提取寬度和高度都高於指定值的html中的圖片。我使用DOM來提取圖片。問題如下:在調用onload resize函數之後獲取頁面中的圖片大小

我想提取的頁面實際上有一個名爲「checkimagesize」的JavaScript。每個會調用一個onload函數,如:

<img src="./01_files/mobile01-cdbd8.jpg" id="http://attach.mobile01.com/attach/201112/mobile01-cdbd8.jpg" onload="checkimagesize(this.id,this.width,this.height)" /> 

每次調用「checkimagesize」後,我使用DOM來提取圖片。寬度和高度都是零。 (這些圖片是由onload函數改變的)

有沒有人知道如何獲得這些圖片的實際寬度和高度後,它稱爲調整大小功能?

非常感謝。

function checkimagesize(image, wi, hi) 
{ 
    var wo = wi + 40; 
    var ho = hi + 40; 
    var resize = false; 
    var imax = 640; 
    if (wi > imax) { 
     rating = wi/imax; 
     wi = Math.ceil(wi/rating); 
     hi = Math.ceil(hi/rating); 
     resize = true; 
    } 

    if (resize) { 
     reimg = document.getElementById(image); 
     reimg.width = wi; 
     reimg.height = hi; 
     reimg.onclick = function() {window.open(image, '', 'resizable=yes,status=yes,scrollbars=yes,width='+wo+',height='+ho);}; 
     reimg.style.cursor = 'pointer'; 
    } 
} 

我的代碼:

listPics = document.images; 
listPics[i].width 
listPics[i].height 

回答

0

你大概他們已經完成加載之前訪問圖像性能。嘗試執行窗口的load事件後你的代碼(當所有的頁面元素加載完畢):

window.onload = function() { 
    for (var i = 0; i < document.images.length; i++) { 
     var img = document.images[i]; 
     console.log("image size: " + img.width + "×" + img.height); 
    } 
}; 
+0

謝謝朱利安D.我把功能窗口的load事件之後。那麼,它的工作原理!謝謝。 –

相關問題