Как получить innerWidth элемента в JQuery БЕЗ полосы прокрутки
Учитывая div, в котором есть полоса прокрутки (например, b / c overflow: auto), как мне получить точную 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());
Обновить:
Мне нужно, чтобы это работало, когда div box2 содержит большое изображение (таким образом, для загрузки требуется секунда). Вот пример, объединяющий одно из приведенных ниже решений (Lukx '), которое не работает:http://jsfiddle.net/forgetcolor/rZSCg/1/, Любые идеи, как заставить его ждать загрузки изображения, прежде чем рассчитывать ширину?