2012-04-11 7 views
0

shareddivの実際の幅と高さをコンテンツに設定する前に、それに基づいてshareddivに収まるパネルの数を決定できます。デバイスまたはブラウザの解像度HTML - コンテンツを作成する前にdivの幅と高さを取得するには

<div id="outerdiv"> 
<div style="width: 100% ;height:100%;" id="sharedDiv" ></div> 
</div> 

アラートは、コードの異なる場所で異なる値を返します。

var divow = document.getElementById('sharedDiv').offsetWidth; 
     alert("div offsetwidth"+divow); 
+0

あなたは私たちは、それがコード内の異なる場所で異なる値を返す理由を把握を支援するためのより多くのコードを投稿する必要があります。 divの実際の幅はコード内のこれらの異なるポイント間で変化しますか?私がここで見ることができるところから、あなたが正しい道にいるように見えます。 – Travesty3

+0

待って、divの_width_がその値をどこに問い合わせるかによって実際に変わると言っていますか? Hm。 –

+0

はい!width = 100%とheight = 100%のスタイルを指定すると、divをデバイスの幅と高さにすると思っていました。このdiv領域にコントロールをレンダリングする前に、divのサイズ、それはデバイスの幅と高さに等しくなり、簡単に私はデバイスに正しくフィットするコントロールの数を計算することができます。 – user1071096

答えて

0

DOMとあなたのリソース(CSSや画像)がロードされたら、あなたは今まで有効な測定を得るでしょう。それが起こるまで、ページ内の要素は移動してサイズを変えることがあります(プログレッシブレンダリング)。したがって、あなたはonloadのようなイベントハンドラで測定を行うべきです。 resizeイベントでも再計算する必要があります。

+0

デバイスの解像度に応じてこのdiv領域に収まるコントロールの数を検出できるように、コントロールを描画する前にdivサイズが必要です。 divの幅はクエリの場所によって異なります。 – user1071096

+0

私はそれを知っています。私の答えを注意深く読んでください。私は、あなたが実際にやっていることは、最終的な寸法が分かる前に、要素の寸法のサンプルを取っていることを、ページがロードされている間に照会するときに(インラインスクリプトタグのように)説明しようとしています。ページが実際にロードされるのを待ってからコントロールを作成すると、一貫した結果が得られます。 – SpliFF

0

jqueryを試してみましたか?

var divow = $("#sharedDiv").outerWidth(); 

またはいっその理由だけではなく、

var divow = $(window).height(); 
+0

:$(ウィンドウ).height()でメタタグを指定しないでください。景色としての価値を与える:980x661.But私は私のipadの画面解像度を理解していない768x1024ですどのようにウィンドウサイズ980x1208することができますか?私はこの幅と高さ(980x1208) div領域とレンダリング、コントロールが画面の幅と高さから外れて、デフォルトのスクロールが表示されるか、ピンチ/ズームして、必要のないすべてのコントロールを表示する必要があります。 – user1071096

+0

ウインドウの幅と高さを取得することで正確に何を達成したいのか教えていただけますか?たぶん私はそれが何のために正確に知っているより助けることができます.. –

関連する問題