Я просто хочу, чтобы некоторый простой JQ/JS проверил, имеет ли текущая страница/окно (не конкретный элемент) вертикальную полосу прокрутки.
Гугление дает мне материал, который кажется чрезмерно сложным для просто этой основной характеристики.
Как это может быть сделано?
$(document).ready(function() {
// Check if body height is higher than window height :)
if ($("body").height() > $(window).height()) {
alert("Vertical Scrollbar! D:");
}
// Check if body width is higher than window width :)
if ($("body").width() > $(window).width()) {
alert("Horizontal Scrollbar! D:<");
}
});
Попробуйте это:
var hasVScroll = document.body.scrollHeight > document.body.clientHeight;
Это только скажет вам, только если вертикальная прокрутка больше, чем высота видимого контента. Переменная VASVSCROLL
будет содержать true или false.
Если вам нужно сделать более тщательную проверку, добавьте следующее в код выше:
// Get the computed style of the body element
var cStyle = document.body.currentStyle||window.getComputedStyle(document.body, "");
// Check the overflow and overflowY properties for "auto" and "visible" values
hasVScroll = cStyle.overflow == "visible"
|| cStyle.overflowY == "visible"
|| (hasVScroll && cStyle.overflow == "auto")
|| (hasVScroll && cStyle.overflowY == "auto");
Я попробовал предыдущий ответ и, похоже, не работает $ («тело»). Высота () не обязательно представляет всю высоту HTML.
Я исправил решение следующим образом:
// Check if body height is higher than window height :)
if ($(document).height() > $(window).height()) {
alert("Vertical Scrollbar! D:");
}
// Check if body width is higher than window width :)
if ($(document).width() > $(window).width()) {
alert("Horizontal Scrollbar! D:<");
}