2015-11-05 71 views
1

我必須知道我的動態圖像的尺寸並在圖像上設置真值。所以我嘗試了一個函數,像這樣:想知道圖像的原始大小,並通過屬性在jQuery中指定

$().ready(function() { 
    imageSize(); 
}); 
// Assign width/height to img 
function imageSize() { 
    // Specify image dimensions 
    $('img').each(function() { 
     var findImgWidth = $(this).width(); 
     var findImgHeight = $(this).height(); 

     $(this).attr('width', findImgWidth); 
     $(this).attr('height', findImgHeight); 
    }); 
} 

那麼,它適用於指定但不計算維度。每張圖片的尺寸爲0px 我該如何解決?

+2

改爲使用窗口onload事件,您必須等待圖像加載才能獲取其尺寸。 – Shikkediel

+1

@Shikkediel是的!這是它,謝謝! –

回答

0

$(document).ready()運行時,DOM進行分析,但不會等待要加載的圖像。

爲每個元素添加一個load處理程序以在其加載時設置其屬性,而不是在循環中完成所有處理。

function imagesize() { 
    $('img').on('load', function() { 
     $(this).attr({ 
      'width': $(this).width() + "px", 
      'height': $(this).height() + "px" 
     }); 
    }); 
} 
0

您需要設置值爲數字,parseFloat(IMG值)

希望這有助於

相關問題