2009-09-29 98 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) 
}