我有一些圖像的響應式佈局。圖像有max-width:100%
設置。並且高度不能在CSS或HTML屬性中預設,否則隨着響應式佈局變小,圖像會變形。它必須是height: auto;
才能正確縮放。jQuery計算圖像高度W/O CSS或高度attrib集?
是否有可能在jQuery中計算圖像的高度? .height()
和.css('height')
依賴於設置css或height屬性,就像我說過的那樣,當響應式設計更改大小時,我無法設置那些不扭曲圖像。
我有一些圖像的響應式佈局。圖像有max-width:100%
設置。並且高度不能在CSS或HTML屬性中預設,否則隨着響應式佈局變小,圖像會變形。它必須是height: auto;
才能正確縮放。jQuery計算圖像高度W/O CSS或高度attrib集?
是否有可能在jQuery中計算圖像的高度? .height()
和.css('height')
依賴於設置css或height屬性,就像我說過的那樣,當響應式設計更改大小時,我無法設置那些不扭曲圖像。
我的問題結束了被認爲.height()
和.css('height')
正在返回0,因爲圖像(S)還沒有加載時的代碼被調用。
爲了獲得高度,我跑了以下內容:
$(document).ready(function(){
$('img.whatever').load(function(){
console.log($(this).height()); // calculates height correctly after image is loaded.
});
});
這是一個偉大的常識解決方案。我工作得很好,因爲我遇到了同樣的問題(但由於某種原因,我只在Firefox中)。 – Tricky12
正如Determine original size of image cross browser?提到:
你有2種選擇:
選項1:
刪除寬度和高度屬性並讀取偏移量和偏移量高度
選項2:
創建一個JavaScript圖像對象,設置src,並讀取寬度和高度(您甚至不必將其添加到頁面來執行此操作)。
function getImgSize(imgSrc) {
var newImg = new Image();
newImg.onload = function() {
var height = newImg.height;
var width = newImg.width;
alert ('The image size is '+width+'*'+height);
}
newImg.src = imgSrc; // this must be done AFTER setting onload
}
我相信該解決方案將爲您工作。
如果你只是改變圖像的高度或寬度,它不應該扭曲高寬比。
重複 - 請參閱http://stackoverflow.com/questions/1944280/determine-original-size-of-image-cross-browser – TheHe