baron icon indicating copy to clipboard operation
baron copied to clipboard

Залипание прокрутки

Open workres opened this issue 6 years ago • 3 comments

Здравствуйте, Дмитрий! В Google Chrome воспроизводится поведение при котором область прокрутки не реагирует на прокрутку колесом мыши. Воспроизвести можно и на Вашей демонстрационной таблице странице: http://diokuz.github.io/baron/. Шаги воспроизведения:

  1. Прокручиваем область на первом примере вверх или вниз до конца, сделав при этом несколько дополнительных оборотов колеса мыши уже после достижения цели.
  2. Без задержки начинаем крутить колесом мыши в обратном направлении. При этом каждый четвёртый-пятый раз происходит "залипание" прокрутки. Скролтрек остаётся в конечном положении. Обработчик scroll не срабатывает. Для того, чтобы вернуться в нормальный режим прокрутки нужно остановить прокрутку колеса мыши на доли секунды и продолжить. Частота воспроизведения зависит от высоты контента прокручиваемой области, на некоторых примерах воспроизвести не смог. Воспроизводится только в Google Chrome.

workres avatar Mar 28 '18 14:03 workres

Это связано с Mutation Observer, пока не было времени, я не вникал

AlexeiFree avatar Apr 03 '18 21:04 AlexeiFree

Хм, пока не смог воспроизвести. Попробую воспроизвести на windows.

Diokuz avatar Apr 09 '18 15:04 Diokuz

Кстати есть шанс, что это связано с аппаратным ускорением скролла: listener который меняет позицию бара пассивный, то есть он не требует ререндера при срабатывании. Это сделано как раз в целях повышения производительности.

Например на мобильных телефонах даже само событие отрабатывает лишь в самом конце скроллирования, поэтому на мобилках вообще не рекомендуется кастомизировать скроллбар.

Diokuz avatar Apr 16 '18 17:04 Diokuz