0

次の2つの機能を検討してください。

  1. jQuery(document).width()
  2. jQuery(window).width()

大まかに言えば、(1)はWebページの幅を示し、(2)はブラウザのビューポートの幅を示します。

しかし、幅が800ピクセルのWebページがあるとします。

ブラウザのウィンドウ幅が800ピクセル未満の場合、メソッド(1)は常に800を返します。これは適切です。

ただし、ブラウザウィンドウの幅が800ピクセルより大きい場合、メソッド(1)は800ではなく(2)と同じ値を返します。したがって、(1)の値はブラウザウィンドウに依存します。これは良くない。

私の質問は、ブラウザウィンドウのサイズを制御できず、ほとんどの場合、ブラウザウィンドウの幅がWebページの幅よりも大きい場合、javascript / jqueryを使用して実際のWebページの幅を取得するにはどうすればよいですか?

4

2 に答える 2

1

AFAIK、ブラウザは、現在のウィンドウ幅で特定のブロックをレンダリングできない場合に、スクロールバーを追加します。したがって、固定幅のメインコンテンツブロック(これをお勧めします)がある場合は、その幅を取得できます。常に同じままです。

<div id="content">
<!-- Main block -->
</div>

CSS:

#content{
   width:800px;
   margin:0 auto;
}

JS:

$("#content").width()
于 2012-04-13T13:28:31.020 に答える
0

実際には質問はありませんが、オブジェクトの幅を取得する方法はたくさんあります。最も一般的に使用される方法は次のとおりです。

フィドル

そのフィドルにマークアップを追加してみて、それらのいずれかがあなたが探しているものを取得するかどうかを確認してください。

于 2012-04-13T13:40:39.730 に答える