私は周りを見回したと多くのソリューションを試みたが、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
それはイメージの高さを取得しますが、数が間違っています!数値は常に小さくなりますが、画像の高さは長くなります。
EDIT:
画像がない高さと幅の属性があります。
<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>
私のイメージの高さはそれほどnew Image()
が正しいある464
です。問題は、画像が大画面でimg-responsive
でサイズ変更されていることです。
私は狂っていますが、最初の部分は '$("。カルーセル。カルーセル - インナーimg ")です。 '$( 'img')'だけを実行すると、その特定の画像だけでなく、ページの最初の画像が読み込まれても関数が呼び出されます。もちろん、私はあなたのHTMLを見ることができません、多分それはページ上の唯一の画像です... – aaronofleonard
人、上記の私の編集を参照してください。ありがとう。 – laukok
あなたのタイトルが何を意味するのか、それはあなたの質問ですか?もしそうなら:http://stackoverflow.com/a/6575319/1414562 –