Làm cách nào để xác định chiều cao và vị trí cuộn của cửa sổ trong jQuery?


179

Tôi cần lấy chiều cao của cửa sổ và phần bù cuộn trong jQuery, nhưng tôi không có may mắn tìm thấy điều này trong các tài liệu jQuery hoặc Google.

Tôi chắc chắn 90% có một cách để truy cập chiều cao và scrollTop cho một phần tử (có lẽ bao gồm cả cửa sổ), nhưng tôi không thể tìm thấy tài liệu tham khảo cụ thể.


2
Làm thế nào về việc không có jQuery?
Costa

@Costa Điều đó có thể đã được hỏi ở nơi khác trên StackOverflow, và nếu không nó xứng đáng là câu hỏi của riêng nó.
Một Crayon

Câu trả lời:


296

Từ tài liệu jQuery:

const height = $(window).height();
const scrollTop = $(window).scrollTop();

http://api.jquery.com/scrollTop/
http://api.jquery.com/height/


1
Hình tôi chỉ bỏ lỡ nó trong các tài liệu; đã tìm kiếm họ, nhưng tổ chức của họ thẳng thắn không có ý nghĩa gì với tôi (tôi vẫn nghĩ trong Mootools, tôi cho rằng). Cảm ơn!
Một Crayon

Điều này không hoạt động trong bất kỳ trình duyệt nào cho jQuery 1.3.2 mặc dù nó được cho là đã được thêm vào trong phiên bản trước. Hoặc là tôi hoặc có gì đó không đúng với mã của tôi ở đây
Philluminati

11
$ (window) .height () cung cấp chế độ xem chiều cao chứ không phải chiều cao cuộn. $ (tài liệu) .height () cho chiều cao cuộn thực, như Aidamina đề xuất.
Jonathan

Tôi thường ngạc nhiên về số lượng những thứ đơn giản như thế này thu hút, nhưng vì tôi đã xem nó hai lần trong tuần này, nên có thêm +1
Neil



6
$(window).height()

$(window).width()

Ngoài ra còn có một plugin để jquery để xác định vị trí phần tử và offset

http://plugins.jquery.com/project/dimensions

cuộn offset = offsetHeight thuộc tính của một phần tử


1
Cảm ơn, Joseph. Đó không phải là chính xác những gì tôi đang tìm kiếm vì tôi đang cố gắng tránh sử dụng một plugin khác, nhưng bạn đã cho tôi tìm kiếm đúng hướng. Cuối cùng, hóa ra thứ tôi thực sự cần là '$ (cửa sổ) .scrollTop ()' để tìm ra số lượng trang đã cuộn qua chế độ xem để điều chỉnh các yếu tố phù hợp.
DA.

0

Nếu bạn cần cuộn đến một điểm của một yếu tố. Bạn có thể sử dụng chức năng Jquery để cuộn nó lên / xuống.

$('html, body').animate({
                scrollTop: $("#div1").offset().top
            }, 'slow');
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.