2009-09-29 73 views
0

也試試這個,但對我來說它沒有工作。用javascript/jquery獲取上傳的圖像尺寸?

Determining image file size + dimensions via Javascript?

我上傳圖片,通過jQuery的插入頁面上,並希望創建的div周圍插入的圖像,但不知道圖像尺寸。

$("#temp_image").html('<img src="uploads/obr1.jpg" alt="" id="tmp" />'); 
var img = document.getElementById('temp_image'); 
alert(img.clientWidth); 

它告訴我0,有什麼錯?

也試過:

var oImg = new Image(); 
oImg.src = 'uploads/obr1.jpg; 
if (oImg.complete) { 
    alert(oImg.width) 
} 

它讓我太0。

問題在哪裏?感謝

+0

請點擊此鏈接,你會得到幫助 http://stackoverflow.com/a/13572209 –

回答

0

應該是:

$("#temp_image").html('<img src="uploads/obr1.jpg" alt="" id="tmp" />'); 
var img = document.getElementById('tmp'); 
alert(img.clientWidth); 

您正在試圖獲得內含div(#temp_image)的寬度,而不是圖像。

另外,如果你使用jQuery,你可以這樣做:

$("#temp_image").html('<img src="uploads/obr1.jpg" alt="" id="tmp" />'); 
alert($('#tmp').width()); 

希望這有助於!

0
var img = document.getElementById('temp_image'); 

實際上不會讓你獲得圖像元素,它會獲取包含圖像的元素。你應該嘗試

var img = document.getElementById('tmp'); 

var img = $('#tmp')[0]; 

代替。還要確保圖像在獲取尺寸時實際可見,因爲如果元素隱藏,clientWidthclientHeight將爲零。

0

我試過你的方法,它的工作。你只是寫得不好。你忘了關閉引號。

var oImg = new Image(); 
oImg.src = 'uploads/obr1.jpg'; 
if (oImg.complete) { 
    alert(oImg.width) 
}