Обнаружение при вертикальной прокрутке видна

Вопрос задан: 8 месяцев назад Последняя активность: 8 месяцев назад
up -3 down

У меня есть этот код JQuery. Как сделать то же самое, но с использованием чистого JavaScript? Я хочу, чтобы обнаружить, если полоса прокрутки видна.

$(document).ready(function() {
    // Check if body height is higher than window height :)
    if ($("body").height() > $(window).height()) {
        alert("Vertical Scrollbar! D:");
    }

});

Я пытался сделать это так и не получилось

if(document.body.height > window.height){
  alert("Vertical Scrollbar! D:");
}

3 ответа

up 1 down accepted

Вы можете использовать:

if(document.body.scrollHeight > window.innerHeight){
  alert("Vertical Scrollbar! D:");
}

См фрагмент кода, например:

if(document.body.scrollHeight > window.innerHeight){
  alert("Vertical Scrollbar! D:");
}
<div style="height:1000px"></div>

Связанный: Как получить высоту всего документа с JavaScript? а также как получить точную высоту тела окна WebBrowser?.

up 0 down

Вы можете вставить Div тег в вашем теле тега и установить Div по высоте и перелива auto.see ниже образец кода.

<body>
   <div id="innerscroll" style="width: 100px; height:100px; overflow:auto;">* content</div>
</body>

Добавить скрипт:

$(document).ready(function() {
    // Check if body height is higher than window height :)
    if ($("#innerscroll").get(0).scrollHeight > $(window).height()) {
        alert("Vertical Scrollbar! D:");
    }
});

Работает.

up -1 down

Вы можете использовать:

if(document.body.scrollHeight > window.height){
  alert("Vertical Scrollbar! D:");
}