18

ページが画面よりも大きい場合、JavaScriptでページの高さを取得できません。

私はこれが私に正しい高さを与えるだろうと思った:

$(document).height();

ただし、これは画面の高さのみを取得します。これは次のようになります。

$('body').height();

と同じ:

document.offsetHeight;

何らかの理由で、これらの例はすべて画面の高さのみを返します。誰かが助けることができますか?

4

5 に答える 5

22

(指定した)jQueryを使用すると、$(document).height()要求しているものが正確に返されます。

メソッドの使用法を明確にするにはheight()

$('.someElement').height(); // returns the calculated pixel height of the element(s)
$(window).height();         // returns height of browser viewport
$(document).height();       // returns height of HTML document

うまくいかない場合$(document).height()は、何かがおかしいのではないかと思います。あなたは次のようになります:

  1. 早すぎる呼び出し。同様に、DOMの準備が整う前に
  2. 一部のブロックレベル要素が実際の高さまで拡張されていない、クリアされていないフロートがいくつかあります。したがって、高さの計算を台無しにします。
  3. 重要なものを絶対に配置します。絶対に配置された要素は、親要素の高さの計算には寄与しません。
于 2009-07-18T14:43:45.703 に答える
0

jQuery の使用に慣れている場合は、body または html の高さを取得するのはどうでしょうか? お気に入り:

var winHeight = $('body').height();
于 2013-01-26T00:07:03.107 に答える
-1

追加する必要があると思いますwindow.pageYOffset(ページがスクロールされた量(ピクセル単位))。

http://www.quirksmode.org/dom/w3c_cssom.html

于 2009-07-18T14:28:08.147 に答える
-1

JQueryについてはよくわかりません。ただし、このリンクは、さまざまなプロパティと、それらがさまざまなブラウザのさまざまなモードでどのように動作するかを理解するのに役立つ場合があります。

http://www.softcomplex.com/docs/get_window_size_and_scrollbar_position.html

于 2009-07-18T14:32:41.917 に答える