2009-07-18 36 views
18

Tôi không thể nhận được chiều cao của trang bằng javascript khi trang lớn hơn màn hình.chiều cao của trang trong javascript

Tôi nghĩ điều này sẽ làm cho tôi chiều cao đúng:

$(document).height(); 

nhưng điều đó chỉ được chiều cao của màn hình, tương tự như:

$('body').height(); 

giống như:

document.offsetHeight; 

Vì lý do nào đó, tất cả các ví dụ này chỉ trả về chiều cao của màn hình. Ai đó có thể giúp?

+0

Phiên bản nào của jQuery? Theo tài liệu, '$ (tài liệu) .height()' đã trả lại chiều cao trên toàn bộ tài liệu kể từ 1.2 – jason

Trả lời

22

Sử dụng jQuery (mà bạn đã chỉ định), $(document).height() sẽ trở lại chính xác những gì bạn đang xin.

Để làm rõ việc sử dụng phương pháp height():

$('.someElement').height(); // returns the calculated pixel height of the element(s) 
$(window).height();   // returns height of browser viewport 
$(document).height();  // returns height of HTML document 

tôi nghi ngờ, rằng nếu $(document).height() không làm việc cho bạn, cái gì là sai. Bạn có thể là:

  1. Gọi quá sớm. Giống như, trước khi DOM sẵn sàng
  2. Có một số phao không rõ ràng không khiến một số phần tử cấp khối mở rộng đến chiều cao thực của chúng. Vì vậy, rối tung lên tính toán chiều cao.
  3. Có điều gì đó quan trọng được định vị hoàn toàn. Các yếu tố vị trí tuyệt đối không đóng góp vào việc tính toán chiều cao của các phần tử gốc của chúng.
+0

Cảm ơn jason. Tôi đã gọi hàm này quá sớm như bạn đã nói trong đề xuất đầu tiên của mình. Đối với mỗi trang mới có một số công cụ ajax làm việc để làm mới một số phần của trang. – jzp74

0

Nếu bạn thấy thú vị khi sử dụng jQuery, bạn nên làm gì với thân máy hoặc chiều cao html? như:

var winHeight = $('body').height(); 
+0

y u không sử dụng js tinh khiết ... :( – vsync

0

Tôi đang tìm kiếm điều này và cập nhật tại đây. Nếu không có Jquery, bạn có thể nhận được điều này với JS đơn giản. Dưới đây hoạt động:

console.log(document.body.clientHeight,document.body.scrollHeight,document.body.offsetHeight) 

Do lưu ý liên kết dưới đây để làm rõ để sử dụng: Understanding offsetWidth, clientWidth, scrollWidth and -Height, respectively

Các vấn đề liên quan