Как долго задерживается CSS-прокрутка? - PullRequest
2 голосов
/ 29 мая 2019

После прокрутки в контейнере, в котором активна какая-то CSS-прокрутка, сколько времени длится задержка после завершения пользовательской прокрутки, когда браузер начинает прокручивать до позиции привязки?

Мотивация

Я написал ответ на вопрос CSS Scroll Snap с эффектом анимации , где я имитирую событие scrollend, отсекая обратный вызов события прокрутки на 250 мс. Это кажется достаточно близким к реальному значению в браузере Chrome. Но было бы неплохо получить некоторые первоклассные значения. Где-то может даже быть API, чтобы я мог получить правильное значение с помощью JS.

1 Ответ

1 голос
/ 11 июля 2019

Модуль CSS Scroll Snap Уровень 1 :

Модуль CSS Scroll Snap преднамеренно не задает и не предписывает никакой точной анимации или физики, используемой для обеспечения положения привязки;это оставлено на усмотрение агента пользователя.

Я настоятельно полагаю, что большинство браузеров, поддерживающих привязку прокрутки (например, Firefox), используют те же функции, которые они уже используют для scroll-behavior: smooth;.

CSSWG - Плавная прокрутка :

Поле прокрутки плавно прокручивается с использованием функции синхронизации, определяемой пользовательским агентом, в течение периода времени, определенного агентом пользователя.Пользовательские агенты должны следовать соглашениям платформы, если таковые имеются.

Это означает, что могут существовать различия не только между браузерами, их конкретными версиями, но также и в зависимости от операционной системы, в которой они работают.Также обратите внимание, что браузеры могут или не могут изменять анимацию в зависимости от настроек пользователя (например, из-за проблем доступности ).

Я не думаю, что есть API для получения точных задержек и/ или функции сглаживания.

...