Có cách nào để xác định vị trí cuộn tối đa cho mọi trình duyệt mà không thực sự cuộn đến cùng và đọc vị trí này không?Làm cách nào để xác định vị trí cuộn tối đa trong các trình duyệt khác nhau có chiều cao và/hoặc độ dốc dòng khác nhau?
Lấy div vùng chứa có chiều cao cố định và tràn. Một số phần tử div trong vùng chứa có tổng chiều cao lớn hơn chiều cao của vùng chứa.
Có một vị trí cuộn tối đa (y) mà tôi nghĩ đơn giản chỉ là chiều cao vùng chứa trừ tổng chiều cao mục. Điều này có vẻ đúng cho đến khi số line-height
của vùng chứa lớn hơn height
của các mục. Nếu đúng như vậy, có vẻ như mọi trình duyệt đều xác định vị trí cuộn tối đa khác nhau.
Với đệm thậm chí còn tồi tệ hơn, một số trình duyệt thêm phần đệm trên cùng, một số trình duyệt thêm cả phần đệm trên cùng và dưới cùng.
Xem ví dụ này fiddle chẳng hạn. Chơi xung quanh với chiều cao dòng container và chiều cao div.item.
Hãy coi chừng: 'elm.clientHeight' không thuộc bất kỳ thông số W3C nào. Xem [Tham chiếu MDN] (https://developer.mozilla.org/en-US/docs/Web/API/element.clientHeight?redirectlocale=en-US&redirectslug=DOM%2Felement.clientHeight). – Simone
@simone Cảm ơn những người đứng đầu. – tiffon
Tôi đã phát hiện Firefox là 28 hỗ trợ 'elm.scrollTopMax' trả về cùng số với' elm.scrollHeight - elm.clientHeight' mặc dù nó không được ghi lại trên MDN và không được hỗ trợ trong các trình duyệt khác. –