2011-08-31 2 views
5

대단히 사실입니다.jQuery - 요소 높이가 창 높이보다 큰지 감지하고 그것에 대해 무언가를 수행하십시오.

기본적으로 내가

내가 이런 짓을했는지하지만 난 그것이 작동 실 거예요 왜 http://jsfiddle.net/dhkCa/3을 작동시킬 수 어차피 ..이 divheightwindowheight보다 큰 경우 감지하고 그것에 대해 뭔가를하고 싶어?

수정 : CSS 코드에서 약간의 오류가 수정되었습니다. Jsfiddle 링크가 업데이트되었습니다.

+0

2 개의 값을 경고하면 문서 높이가 div 높이보다 20px 큰 것으로 나타납니다 (예 : http://jsfiddle.net/dhkCa/8/) –

답변

17

document에는 그 안에있는 모든 요소가 포함되어 있고 그 높이는 모든 요소의 높이의 합계입니다 (어쨌든 display:block 요소와 여백 및 패딩 모두 포함). 따라서 포함 된 요소는 문서 자체보다 커질 수 없습니다.

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

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

JS Fiddle demo : 당신이해야 할 것은 window의 높이가 아닌 문서의 비교입니다.

+0

Right .. That 또한 분명히 jquery api입니다 .. 다시 한번 나는 읽은 것을 이해하지 못했습니다. 감사합니다 (+1) 할 수있을 때 받아 들일 것입니다. – Joonas

+0

매우 환영합니다. 도와 줘서 다행이야! = D –

0

스크롤 높이가 문서의 스크롤 높이와 다른 요소의 경우 element.getBoundingClientRect().height(Docs)을 사용할 수 있습니다.