Làm cách nào để xác định scrollHeight?


95

Làm cách nào để xác định scrollHeight của một bộ phận sử dụng css tràn: auto?

Tôi đã thử:

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

Cuối cùng, tôi đang cố gắng tạo một cuộc trò chuyện và luôn có thanh cuộn đến tin nhắn hiện tại trên màn hình.

Vì vậy, tôi đã nghĩ một cái gì đó như sau:

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

Cảm ơn bạn,

Brian


Có gì sai khi sử dụng scrollHeight ()?
Badr Hari

2
@BadrHari: Không có scrollHeight()chức năng nào trong jQuery.
TJ Crowder

đó là $ ('test'). get (0) .scrollHeight ();
JFouad

Câu trả lời:


90

scrollHeight là một thuộc tính javascript thông thường nên bạn không cần jQuery.

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

Cảm ơn! Điều này phù hợp với tôi: var height = document.getElementById ("chatLog"). ScrollHeight - $ ('# chatLog'). Height (); $ ('# chatLog'). scrollTop (height);
Brian

6
Điều gì về hỗ trợ trình duyệt? Tất cả các phiên bản chính của trình duyệt đều hỗ trợ nó? IE8 +?
SexyBeast

2
@Cupidvogel Trang MDN được liên kết cho biết IE8 +
Dennis

316

Các cách đúng trong jQuery là:

  • $('#test').prop('scrollHeight') HOẶC LÀ
  • $('#test')[0].scrollHeight HOẶC LÀ
  • $('#test').get(0).scrollHeight

Hy vọng nó giúp.


16
+1 cho $ ('# test') [0] .scrollHeight, vì người hỏi đã sử dụng jQuery.
Jackson

12
Đây phải là câu trả lời được chấp nhận vì nó trả lời câu hỏi.
gọi

Nó phải là câu trả lời được chấp nhận. Lưu ý rằng propphương thức yêu cầu phiên bản jquery 1.6 hoặc lớn hơn. +1 từ tôi
Vayne

2
Lưu ý đây chỉ trả về scrollHeight của phần tử "đầu tiên" phát hiện và nếu có yếu tố đang "ẩn" bạn có thể nhận được một số không ở đây ngay cả khi những người khác không có một scrollHeight tích cực, FWIW :)
rogerdpack

@rogerdpack Điểm tốt thưa ông! Mặc dù trong ví dụ này, anh ta đang sử dụng ID thay vì lớp làm bộ chọn, vì vậy anh ta sẽ ổn, nhưng dù sao cũng có điểm tốt.
dave4jr
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.