2011-08-31 8 views
5

jQuery - 要素の高さがウィンドウの高さよりも大きいかどうかを検出し、それについて何かを実行します。

基本的に私は

が、私はこれを行っているが、私はそれが動作文句を言わないのはなぜそれがhttp://jsfiddle.net/dhkCa/3を仕事を得るカント..このdivheightwindowheightよりも大きいかどうかを検出し、それについて何かをしたいですか?

編集:CSSコードで少しのエラーが修正されました。 Jsfiddleリンクが更新されました。

+0

2つの値を警告すると、ドキュメントの高さがdivの高さよりも20px大きいように見えます(例:http://jsfiddle.net/dhkCa/8/) –

答えて

17

document「sは自体内のすべての要素が含まれ、その高さは、全てのこれらの要素(とにかく全てdisplay:block要素、プラスマージンおよびパディング)の高さの和です。したがって、含まれている要素はドキュメント自体よりも背が高くなりません。

var div = $("div").height(); 
var win = $(window).height(); 

if (div > win) { 
    $("div").addClass('red'); 
} 

JS Fiddle demo:何をする必要があるwindowの高さではなく、文書の比較です。

+0

Right .. Thatもう一度私は私が読んだものを理解することに失敗しました。ありがとうございます(+1)、できる場合は受諾します。 – Joonas

+0

あなたは大歓迎です。私は助けになってうれしいです! = D –

0

スクロールの高さがドキュメントのスクロールの高さと異なる要素の場合は、element.getBoundingClientRect().height(Docs)を使用できます。