Документ: событие scrollend
Ограниченная доступность
Эта функция не является базовой, поскольку она не работает в некоторых из наиболее широко используемых браузеров.
Событие scrollend срабатывает, когда прокрутка представления документа завершена. Прокрутка считается завершённой, когда позиция прокрутки больше не имеет ожидающих обновлений, и пользователь завершил своё действие.
Обновления позиции прокрутки включают плавную или мгновенную прокрутку колёсом мыши, прокрутку с клавиатуры, события scroll-snap или другие API и жесты, которые изменяют позицию прокрутки. Пользовательские жесты, такие как прокрутка пальцем или трекпадом, не считаются завершёнными, пока указатели или клавиши не будут отпущены. Если позиция прокрутки не изменилась, событие scrollend не срабатывает.
Для определения момента завершения прокрутки внутри элемента, см. событие scrollend элемента Element.
Синтаксис
Используйте имя события в методах, таких как addEventListener(), или задайте обработчик события.
addEventListener("scrollend", (event) => {});
onscrollend = (event) => {};
Тип события
Общее событие Event.
Примеры
Использование события Document scrollend с обработчиком событий
Следующий пример демонстрирует, как использовать событие scrollend с обработчиком событий для определения момента, когда пользователь прекратил прокрутку документа. В примере содержимое вложенного iframe больше и шире самого iframe, поэтому прокрутка в iframe возможна в обоих направлениях. При остановке прокрутки пользователем срабатывает событие scrollend:
<div class="box-wrapper"> <div class="box"></div> <div class="box"></div> <div class="box"></div> <div class="box"></div> </div> <p id="output">Waiting on scroll events...</p>
const output = document.querySelector("p#output");
document.addEventListener("scroll", (event) => {
output.textContent = "Document scroll event fired!";
});
document.addEventListener("scrollend", (event) => {
output.textContent = "Document scrollend event fired!";
});
Использование обработчика событий onscrollend
Следующий пример демонстрирует, как использовать свойство обработчика событий scrollend для определения момента, когда пользователь прекратил прокрутку документа. В примере содержимое вложенного iframe больше и шире самого iframe, поэтому прокрутка в iframe возможна в обоих направлениях. Этот пример дополняет первый, но использует document.onscrollend вместо обработчика событий:
<div class="box-wrapper"> <div class="box"></div> <div class="box"></div> <div class="box"></div> <div class="box"></div> </div> <p id="output">Waiting on scroll events...</p>
document.onscroll = (event) => {
output.textContent = "Document scroll event fired!";
};
document.onscrollend = (event) => {
output.textContent = "Document scrollend event fired!";
};
Спецификации
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
scrollend_event |
114 | 114 | 109 | 100 | Нет | 114 | 109 | 76 | Нет | 23.0 | 114 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Document/scrollend_event