複製代碼 代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>chrome下img載入對height()的影響</title>
<style type="text/css">
.floatleft {
float:left;
}
</style>
<script type="text/javascript" src="js/jQuery-1.7.1.js"></script>
<script type="text/javascript">
$(function() {
var img_h = $('.showimg').height();
var img_w = $('.showimg').width();
var text_h = $('.showtext').height();
$('.showresult').html('showImg:' + img_w + '&' + img_h + '<br />showText:' + text_h);
alert('showImg:' + img_w + '&' + img_h + '<br />showText:' + text_h);
});
</script>
</head>
<!--
作者:北京-南宮
日期:2012-07-25
-->
<body>
<div class="floatleft">
<div class="showimg">
<img src="images/flash_pic.gif" />
</div>
<div class="showtext">
這是文字
</div>
<div class="showresult">
這裡顯示結果。
</div>
</div>
</body>
</html>
將此代碼在chrome運行,當alert視窗彈出時,將會發現頁面的img並沒有載入。
運行結果如下:
這是文字
showImg:112&0
showText:18
1、此處 img的預設寬度為112,但是我連結的img的寬度為1000,
2、此處img的高度為0,
現做如下改動
複製代碼 代碼如下:
<img src="images/flash_pic.gif" width="1000" />
運行結果為:
這是文字
showImg:1000&0
showText:18
img的高度仍舊為0
當為其設定高度之後,就可以正常擷取到。
結論:在chrome下,img不設定寬高,通過jquery的width()和height()擷取到的img的寬高將為112px * 0
求助:希望哪位大俠有好辦法,能在不設定寬高情況下擷取到正確的值。