2012-04-10 2 views
1

페이지의 오른쪽 하단에 절대적으로 위치한 div가 있습니다. 문제는 div에 너무 많은 콘텐츠가 포함 된 경우 콘텐츠 상단이 페이지 상단에서 사라진다는 것입니다. 내가하고 싶은 것은 div의 최대 높이가 몸체 높이에서 170px를 뺀 값과 같도록 설정하는 것입니다.요소 높이를 본체 높이 - 170px와 동일하게 설정하십시오.

나는 온라인 자습서의 몇 가지를 시도했지만 아주 멀리하지 않았다 :

이 Iv'e 지금까지 가지고 무엇 :

<script> 
var x, y, z; 
y = 170; 
function getDocHeight() { 
    var x = document; 
    return Math.max(
     Math.max(x.body.scrollHeight, x.documentElement.scrollHeight), 
     Math.max(x.body.offsetHeight, x.documentElement.offsetHeight), 
     Math.max(x.body.clientHeight, x.documentElement.clientHeight) 
    ); 
}; 
z = x-y;//document height minus 170. this is the height we need for the info div 
document.write (z); 
document.write (y); 
document.write (x); 
</script> 

무엇 위의 출력 NaN170undefined그래서 div id = "info"의 높이를 설정하려하지도 않았습니다.

모든 도움을 주실 수 있습니다. 당신이 jQuery를 사용하는 경우

+6

! '$ ("body"). height() - 170' ... 타다! – SpYk3HH

+1

'x'는 값을 설정하지 않기 때문에'undefined '입니다. 함수 내에서 그 값은'document'이지만 외부'x'는 절대로 설정되지 않습니다. 'getDocHeight' 함수를 절대로 호출하지 않기 때문에'x = getDocHeight();'; –

+0

... 또한, 중첩 된'Math.max' 호출의 포인트를 보지 못했습니다. 왜 모든 값을 가진 단일 호출을 수행하지 않는가? –

답변

1

, 당신은 다음 작업을 수행 할 수 있습니다 : LMAO, 당신이 jQuery를 사용하고

z = $("body").height() - 170; 
+1

'$ ('# body')'? 나는 당신이'$ ('body')'를 의미한다고 생각합니다. –

+0

@SKS 오타, 고마워! – mattytommo

+1

'.height()'는 정수를 반환합니다. 'parseInt'가 필요 없습니다. –

관련 문제