Как мы знаем, часто рекомендуется отменить прослушивание прокрутки, чтобы UX был лучше, когда пользователь выполняет прокрутку.
Однако я часто встречал библиотеки и статьи, в которых влиятельные люди, такие как Пол Льюис, рекомендуют использовать requestAnimationFrame
. Однако, поскольку веб-платформа быстро развивается, возможно, что некоторые советы со временем станут устаревшими.
Проблема, которую я вижу, состоит в том, что есть очень разные варианты использования для обработки событий прокрутки, таких как создание веб-сайта параллакса или бесконечная прокрутка и разбиение на страницы.
Я вижу 3 основных инструмента, которые могут иметь значение с точки зрения UX:
Итак, я хотел бы знать, для каждого варианта использования (у меня есть только 2, но вы можете придумать другие), какой инструмент я должен использовать прямо сейчас, чтобы иметь очень хороший опыт прокрутки?
Чтобы быть более точным, мой основной вопрос был бы больше связан с бесконечными представлениями прокрутки и разбиением на страницы (которые обычно не должны запускать визуальные анимации, но мы хотим иметь хороший опыт прокрутки), лучше ли заменить requestAnimationFrame
на комбинацию requestIdleCallback
+ обработчик событий пассивной прокрутки? Мне также интересно, когда имеет смысл использовать requestIdleCallback
для вызова API или обработки ответа API, чтобы прокрутка работала лучше, или это то, что браузер уже может обрабатывать для нас?