0

いくつかの内部 div を含む div があります。私のjavascript/jQueryコードでは、jQuery css() 関数を使用して内側のdivのサイズを変更する関数が実行されます。最初の関数の後の別の関数では、外側の div のサイズを読み取る必要があります。そのサイズは、その内容のサイズの増加に応じて増加する必要があります。

したがって、基本的には次のようになります。

resizeInnerDivs();
//...do something else...
doSomethingWithOuterDivSize();

doSomethingWithOuterDivSize が入力されると、IE8 と IE9 は依然として外側の div の古いサイズを取得します。一方、IE10、Firefox、および Chrome は、更新されたサイズを返します。

IE8 と IE9 では、新しいサイズの再計算が完了していないと思います。コールでラッピングdoSomethingWithOuterDivSize();してみました。setTimeout十分に長く待つと、タイムアウトに応じて、より良い (必ずしも正しいとは限らない) サイズ値を取得できます。

外部divの再計算を強制することはできますか? IE8 と IE9 でも正しい値を取得するにはどうすればよいですか?

4

2 に答える 2

0

あなたはおそらくこれを探しています:

$('.yourClass').width();
$('someElement').width();
$('#someId').width();
$('any valid jQuery/CSS selector').width();

リソース: http://api.jquery.com/width/

$.width()要素の計算された幅を提供します。

于 2013-06-25T11:05:57.457 に答える