2011-08-31 35 views
0

我有以下代碼,需要獲取動態加載的圖像的寬度,當點擊縮略圖時。使用jquery獲取沒有指定寬度的圖像的寬度

$("<img class='mypopupimage' src='" + imgSrc + "' style='padding:10px;' width='500' />").appendTo("div.mydiv"); 

var imgWidth = $(".mypopupimage").width(); 

我有麻煩的是,在彈出的圖像都是不同的寬度,但是當我從圖像中刪除寬度屬性imgWidth變量被設置爲0。

任何想法?

+2

Dublicate的[this](http://stackoverflow.com/questions/439358/javascript-function-to-get-real-image-width-height-cross-browser):嘗試$(「。mypopupimage」)。attr(「naturalWidth 「); – Sgoettschkes

+0

真棒,謝謝...如果你添加這個答案我可以接受它作爲正確的... – Tom

+1

可能重複的[如何獲得圖像大小(高度和寬度)使用JavaScript?](http:// stackoverflow .com/questions/623172/how-to-get-image-size-height-width-using-javascript) –

回答

1

這已經回答了堆疊多次,但是,在這裏它是爲了便於:

clientWidthclientHeight是DOM屬性顯示當前在瀏覽器的尺寸的DOM元素的內部尺寸(不包括邊距和邊框)。所以在IMG元素的情況下,這將獲得可見圖像的實際尺寸。

var img = document.getElementById('imageid'); 
//or however you get a handle to the IMG 
var width = img.clientWidth; 
var height = img.clientHeight; 

這個答案是從here

0

採取您應該使用屬性naturalWidth,如果你想使用jQuery或「正常」的JavaScript去由udjamaflip說:

$("<img class='mypopupimage' src='" + imgSrc + "' style='padding:10px;' width='500' />").appendTo("div.mydiv"); 
var imgWidth = $(".mypopupimage").attr('naturalWidth'); 
+0

我喜歡這個解決方案,但它在IE中不起作用。 – Tom