scrollHeight를 어떻게 결정합니까?


95

css overflow : auto를 사용하여 부서의 scrollHeight를 어떻게 결정합니까?

난 노력 했어:

$('test').scrollHeight();
$('test').height(); but that just returns the size of the div not all the content

궁극적으로 나는 채팅을 만들고 화면의 현재 메시지에 대한 스크롤 막대를 항상 가지고 있습니다.

그래서 다음과 같은 생각을했습니다.

var test = $('test').height();
$('test').scrollTop(test);

감사합니다,

브라이언


scrollHeight () 사용에있어 문제점은 무엇입니까?
Badr Hari 2011 년

2
@BadrHari : scrollHeight()jQuery 에는 기능 이 없습니다 .
TJ Crowder 2015

그것은 $ ( 'test'). get (0) .scrollHeight ();
JFouad

답변:


90

scrollHeight 일반 자바 스크립트 속성이므로 jQuery가 필요하지 않습니다.

var test = document.getElementById("foo").scrollHeight;

감사! 이것은 나를 위해 일했습니다. var height = document.getElementById ( "chatLog"). scrollHeight-$ ( '# chatLog'). height (); $ ( '# chatLog'). scrollTop (height);
Brian

6
브라우저 지원은 어떻습니까? 모든 주요 버전의 브라우저에서 지원합니까? IE8 +?
SexyBeast

2
@Cupidvogel 링크 된 MDN 페이지에 IE8 +가 표시됩니다.
Dennis

316

jQuery의 올바른 방법은 다음과 같습니다.

  • $('#test').prop('scrollHeight') 또는
  • $('#test')[0].scrollHeight 또는
  • $('#test').get(0).scrollHeight

도움이되기를 바랍니다.


16
$ ( '# test') [0] .scrollHeight에 대한 +1, asker가 이미 jQuery를 사용하고있는 경우.
Jackson

12
질문에 대한 답변이므로이 답변이 허용되어야합니다.
invot

받아 들여진 대답이어야합니다. 공지 사항 것을 prop방법은 JQuery와 버전 1.6 이상이 필요합니다. 나에게서 +1
Vayne 17

2
이것은 단지 "첫 번째"요소의 scrollHeight 발견 반환하고 어떤 요소가 현재 "숨겨진"하는 경우 FWIW : 긍정적 scrollHeight가 여기에 0을 다른 사람이 경우에도 얻을 수 있습니다 참고
rogerdpack

@rogerdpack 좋은 지적입니다! 이 예에서는 클래스 대신 ID를 선택 자로 사용하므로 괜찮을 것입니다. 그래도 좋은 지적입니다.
dave4jr
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.