我环顾四周,并尝试了多种解决方案,但仍jQuery的试图获取图像高度加载图像之前:jQuery在图像加载之前获取图像高度?
$('img').load(function(){
var heightStart = $(".carousel .carousel-inner img").height();
alert(heightStart); // 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”)。如果只是执行'$('img')',即使页面上的第一张图像加载时,它也会调用该函数,而不仅仅是该特定图像。当然,我看不到你的HTML,也许这是唯一的图像... – aaronofleonard
家伙,请参阅我上面的编辑。谢谢。 – laukok
这就是你所有关于你的头衔是什么意思的问题吗?如果是这样:http://stackoverflow.com/a/6575319/1414562 –