Событие прокрутки scroll
позволяет реагировать на прокрутку страницы или элемента. Есть много хороших вещей, которые при этом можно сделать.
Например:
- Показать/скрыть дополнительные элементы управления или информацию, основываясь на том, в какой части документа находится пользователь.
- Подгрузить данные, когда пользователь прокручивает страницу вниз до конца.
Вот небольшая функция для отображения текущей прокрутки:
window.addEventListener('scroll', function() {
document.getElementById('showScroll').innerHTML = pageYOffset + 'px';
});
В действии:
Текущая прокрутка = прокрутите окно
Событие scroll
работает как на window
, так и на других элементах, на которых включена прокрутка.
Предотвращение прокрутки
Как можно сделать что-то непрокручиваемым?
Нельзя предотвратить прокрутку, используя event.preventDefault()
в обработчике onscroll
, потому что он срабатывает после того, как прокрутка уже произошла.
Но можно предотвратить прокрутку, используя event.preventDefault()
на событии, которое вызывает прокрутку, например, на событии keydown
для клавиш pageUp и pageDown.
Если поставить на них обработчики, в которых вызвать event.preventDefault()
, то прокрутка не начнётся.
Способов инициировать прокрутку много, поэтому более надёжный способ – использовать CSS, свойство overflow
.
Вот несколько задач, которые вы можете решить или просмотреть, чтобы увидеть применение onscroll
.