【发布时间】:2016-09-28 16:28:22
【问题描述】:
我环顾四周,尝试了很多解决方案,但 jquery 仍然试图在图像加载之前获取图像高度:
$('img').load(function(){
var heightStart = $(".carousel .carousel-inner img").height();
alert(heightStart); // 0
});
我总是得到 0。有什么想法最好的方法是什么?
我什至尝试过使用普通的 js:
var i = new Image()
i.src = "images/xxx.jpg";
var h = i.height
alert(heightStart); // 464
它获取图像高度但数字错误!数字总是较小,但图像的高度较长。
编辑:
图像没有高度和宽度属性:
<div id="myCarousel" class="carousel slide" data-ride="carousel">
<div class="carousel-inner">
<div class="item active">
<img class="first-slide" src="images/xxx.jpg" alt="First slide" class="img-responsive">
<div class="container">
<div class="carousel-caption">xxx</p>
</div>
</div>
</div>
</div>
我的图像高度是464,所以new Image() 正确。但问题是图像在大屏幕上已经用img-responsive调整了大小。
【问题讨论】:
-
叫我疯了,但对于第一部分,不应该是
$(".carousel .carousel-inner img").load吗?如果你只是做$('img'),即使页面上的第一个图像加载,它也会调用该函数,而不仅仅是那个特定的图像。当然,我看不到你的 HTML,也许它是页面上唯一的图像... -
各位,请看我上面的编辑。谢谢。
-
这就是你关于标题含义的所有问题吗?如果是这样:stackoverflow.com/a/6575319/1414562
-
@A.Wolff 已经尝试过这个答案。但仍然没有运气。
标签: javascript jquery image