2010-05-26 41 views

Trả lời

7

Như thế này:

if (document.documentElement.scrollHeight === document.documentElement.clientHeight) { 
    //There is no vertical scrollbar 
} 

này không làm việc trong IE

+0

Thanh cuộn có thể được ẩn một cách rõ ràng qua 'body {overflow-y: hidden; } ', trong trường hợp đó mã của bạn sẽ báo cáo một kết quả sai ... –

+0

Điều này cũng không hoạt động khi thân của nó nhỏ, nhưng một phần tử được định vị hoàn toàn đã di chuyển một phần ngoài khung nhìn và khiến UA hiển thị thanh cuộn (chiều cao/chiều rộng cơ thể không thay đổi trong trường hợp đó, nhưng chắc chắn có thanh cuộn hiện tại). –

1

So sánh chiều cao của tài liệu với chiều cao cửa sổ. Nếu nó có nhiều hơn có lẽ là một thanh cuộn trừ khi bạn vô hiệu hóa nó.

+0

Sai. Chiều cao cửa sổ bao gồm các phần tử chrome như thanh công cụ và menu. – SLaks

+0

Ah vâng tôi thực sự có nghĩa là để gõ chiều cao viewport, xấu của tôi. – CharlesLeaf

4

Đây là một bài cũ nhưng cuối cùng tôi nhận được mã mà cũng làm việc trên IE7. Hy vọng điều này có thể giúp ai đó.

var hasScrollbar = $('body').outerHeight() > $(window).height(); 
+0

Điều này không hoạt động đối với các phần tử được định vị hoàn toàn vượt ra ngoài chế độ xem (gây ra thanh cuộn) khi bản thân cơ thể nhỏ. –

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