我想要完成的是,当你将图像放在100%上时,它可以很好地相应地调整高度。我喜欢抓住那个高度并加工它。
<div id="view" style="width:950px;">
<img src="1.png" />
</div>
图像为950x500像素。但是当我问视图$( '#view' ).height()
高度是多少时,它会返回16像素。有谁知道为什么这样做?为什么不返回500像素,因为它是图像的大小。
答案 0 :(得分:2)
您需要先加载图像。试试这个:
<!DOCTYPE HTML>
<html>
<style>
div { width: 950px; }
img { width: 100%; }
</style>
<body>
<div>
<img src="1.png">
</div>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script type="text/javascript">
$('img').load(function() {
var height = $('div').height();
console.log(height);
});
</script>
</body>
</html>
答案 1 :(得分:1)
我有测试来提醒<Div>
它的大小它返回有效值,返回图像的大小。
但是从您的代码$( 'view' ).height()
我已更改为$( '#view' ).height();
这是我的代码,它正确返回。
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
function loaded() {
var height = $( '#view' ).height();
alert(height);
}
</script>
</head>
<body onload="loaded();">
<div id="view" style="width:950px;">
<img src="Desert.jpg" />
</div>
</body>
</html>
答案 2 :(得分:1)
请不要使用本地图片,您可以使用带有URL的图片,例如“http://www.veryued.org/wp-content/uploads/2012/02/less-online.png".
请仔细阅读jQuery API:
与图像一起使用时加载事件的注意事项:
- 它不能始终如一地工作,也不能可靠地跨浏览器
- 如果图像src设置为与之前相同的src,则无法在WebKit中正确触发
- 它没有正确地冒泡DOM树
- 可以停止触发已存在于浏览器缓存中的图像