Событие прокрутки 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.
Комментарии
<code>, для нескольких строк кода — тег<pre>, если больше 10 строк — ссылку на песочницу (plnkr, JSBin, codepen…)