Movatterモバイル変換


[0]ホーム

URL:


  1. Веб-технологии для разработчиков
  2. Интерфейсы веб API
  3. Document
  4. Document: событие scroll

This page was translated from English by the community.Learn more and join the MDN Web Docs community.

View in EnglishAlways switch to English

Document: событие scroll

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since июль 2015 г..

Событиеscroll возникает при прокрутке области просмотра документа или элемента.

ВсплытиеДа
ОтменяемыйНет
ИнтерфейсEvent
Свойство обработчика событийonscroll

Примечание:В iOS UIWebViews событияscroll не срабатывают во время самого прокручивания, только по его завершении. См.issue в Bootstrap #16202. Safari и WKWebViews не подвержены этому багу.

Примеры

Пропуск тактов события прокрутки

Поскольку события прокрутки могут запускаться с высокой скоростью, обработчик событий не должен выполнять вычислительно-ёмкие операции, такие как модификации DOM. Вместо этого рекомендуется пропускать такты события, используяrequestAnimationFrame(),setTimeout() илиCustomEvent, как показано ниже.

Обратите внимание, однако, что входные события и кадры анимации запускаются примерно с одинаковой скоростью, и поэтому приведённая ниже оптимизация зачастую не требуется. В примере ниже оптимизируется событиеscroll дляrequestAnimationFrame:

js
// Источник: http://www.html5rocks.com/en/tutorials/speed/animations/let last_known_scroll_position = 0;let ticking = false;function doSomething(scroll_pos) {  // Делаем что-нибудь с позицией скролла}window.addEventListener("scroll", function (e) {  last_known_scroll_position = window.scrollY;  if (!ticking) {    window.requestAnimationFrame(function () {      doSomething(last_known_scroll_position);      ticking = false;    });    ticking = true;  }});

Больше похожих примеров можно найти на странице событияresize.

Спецификации

Specification
CSSOM View Module
# eventdef-document-scroll
HTML
# handler-onscroll

Совместимость с браузерами

Смотрите также

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2026 Movatter.jp