スクロールバーを含む div (たとえば、overflow:auto の b/c) を指定すると、要素の正確な innerWidth を取得するにはどうすればよいですか? 私の例では: http://jsfiddle.net/forgetcolor/2J7NJ/ width と innerWidth は同じ幅を報告します。私が欲しい数は100未満でなければなりません。
HTML:
<div id='box1'>
<div id='box2'>
</div>
</div>
<p id="w"></p>
<p id="iw"></p>
CSS:
#box1 {
width:100px;
height:100px;
overflow:auto;
}
#box2 {
width:200px;
height:200px;
background-color:#aaa;
}
Javascript:
$('#w').text("width is: "+$('#box1').width());
$('#iw').text("inner width is: "+$('#box1').innerWidth());
アップデート:
box2 div に大きな画像が含まれている場合にこれを機能させる必要があります (したがって、読み込みに 1 秒かかります)。以下のソリューションの 1 つ (Lukx') を統合した例を次に示します。これは機能しません: http://jsfiddle.net/forgetcolor/rZSCg/1/ 幅を計算する前に画像が読み込まれるのを待つ方法はありますか?