2010-05-26 24 views

Odpowiedz

7

Jak to:

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

To nie działa w IE

+0

Pasek przewijania może być jawnie ukryty przez 'body {overflow-y: hidden; } ', w takim przypadku twój kod zgłasza fałszywy alarm ... –

+0

To również nie działa, gdy ciało jest małe, ale element pozycjonowany absolutnie przesunął się częściowo poza obszar wyświetlania i spowodował wyświetlanie przez UA pasków przewijania (wysokość/szerokość ciała nie zmienia się w tym przypadku, ale na pewno są obecne paski przewijania). –

1

Porównaj wysokość dokumentu z wysokością okna. Jeśli jest więcej, prawdopodobnie jest pasek przewijania, chyba że go wyłączyłeś.

+0

Nieprawidłowy. Wysokość okna zawiera elementy chromowane, takie jak paski narzędzi i menu. – SLaks

+0

Ach tak naprawdę zamierzałem wpisać wysokość rzutni, mój zły. – CharlesLeaf

4

Jest to stary post, ale w końcu dostałem kod, który również działa na IE7. Mam nadzieję, że to może komuś pomóc.

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

To nie działa dla elementów pozycjonowanych bezwzględnie, które znajdują się poza rzutnią (powodujące paski przewijania), gdy ciało jest małe. –

Powiązane problemy