Muszę wiedzieć, czy pionowy pasek przewijania pojawił się w oknie przeglądarki. Czy jest to możliwe przy użyciu jQuery lub w jakikolwiek inny sposób?Jak sprawdzić, czy paski przewijania pojawiły się w przeglądarce (jQuery)?
Odpowiedz
Jak to:
if (document.documentElement.scrollHeight === document.documentElement.clientHeight) {
//There is no vertical scrollbar
}
To nie działa w IE
Porównaj wysokość dokumentu z wysokością okna. Jeśli jest więcej, prawdopodobnie jest pasek przewijania, chyba że go wyłączyłeś.
Nieprawidłowy. Wysokość okna zawiera elementy chromowane, takie jak paski narzędzi i menu. – SLaks
Ach tak naprawdę zamierzałem wpisać wysokość rzutni, mój zły. – CharlesLeaf
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();
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. –
Pasek przewijania może być jawnie ukryty przez 'body {overflow-y: hidden; } ', w takim przypadku twój kod zgłasza fałszywy alarm ... –
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). –