Как в интерфейсе поступить при медленной анимации и частых действиях пользователя?

Большое количество колонок не вмещается в экран, сделана пошаговое листание с плавной анимацией (прототип).

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

Приходит в голову только «проглатывать» лишние нажатия в единицу времени, игнорируя их. Но, наверное, торопящегося пользователя это расстроит.
  • Вопрос задан
  • 103 просмотра
Решения вопроса 2
Vlad_IT
@Vlad_IT Куратор тега JavaScript
Front-end разработчик
При скролле ставить в очередь позицию блока, и вычислять скорость анимации по длине очереди, чем выше, тем быстрее. Анимация должна идти к последнему элементу из очереди. Если нажать на противоположную кнопку, то анимация должна останавливаться на ближайшем следующем элементе, очередь очищаться, и начинаться анимация в противоположную сторону.
Анимацию придется делать на js, т.к. в transition нельзя плавно динамически изменять скорость анимации.
Ответ написан
AngReload
@AngReload
Кратко о себе
По моему, достаточно сделать время анимации равным 100мс и debounce на 100мс.
https://jsfiddle.net/tz4pwfn1/39/
Иначе, если зажать кнопку, то прокрутка идёт чересчур быстро.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы