2011-03-09 123 views
4

我有圖片獲取圖像尺寸與jQuery

<img src="001.jpg"> 
<img src="002.jpg"> 
<img src="003.jpg"> 
<img src="004.jpg"> 
<img src="005.jpg"> 

每個圖像是200像素寬,但是高度不同的列表。有沒有一種方式與JQuery找到,然後設置每個圖像的高度後,他們加載?

我打算在單個頁面上放置數十個圖像,並且不希望將寬度和高度屬性添加到每個圖像標記。

我使用砌體插件,它需要圖像的寬度和高度屬性。

+1

你沒有問過這個嗎? http://stackoverflow.com/questions/5239726/ – grc 2011-03-09 02:03:58

+0

@grc,它**看起來非常相似,但我感興趣的是答案似乎有多不同。 – 2011-03-09 02:06:07

回答

4

我相信這會做你想要什麼:

$('img').each(function() { 
    $(this).attr('height',$(this).height()); 
    $(this).attr('width',$(this).width()); 
}); 

你可能還需要一個class="masonry"屬性添加到每個IMG和,然後讓你選擇$('img.masonry')

3

你可以嘗試:

$('img').each(
    function(){ 
     var height = $(this).height(); 
     var width = $(this).width(); 

     $(this).attr({'height': height, 'width': width}); 
    }) 

假設你想要的height/width屬性被設置爲img的實際高度/寬度,而不是縮放/修改以某種方式。

參考文獻:

+0

我想我是縮放圖像。看看這裏的項目:http://jsfiddle.net/ryanjay/fgNMJ/現在它在jsFiddle中工作,但在服務器上它不... ... http://www.ryanjay.com/layouttest哪裏會我添加此代碼來查找每個圖像的高度並設置它們? – Ryan 2011-03-09 02:38:35

1

你可以使用jQuery的.height().width()方法,因爲這些回報計算的寬度和高度。但是,您應該始終在您的img標籤中包含寬度和高度屬性,因爲某些瀏覽器在沒有它們的情況下不會正確呈現這些圖像。