baron
baron copied to clipboard
Залипание прокрутки
Здравствуйте, Дмитрий! В Google Chrome воспроизводится поведение при котором область прокрутки не реагирует на прокрутку колесом мыши. Воспроизвести можно и на Вашей демонстрационной таблице странице: http://diokuz.github.io/baron/. Шаги воспроизведения:
- Прокручиваем область на первом примере вверх или вниз до конца, сделав при этом несколько дополнительных оборотов колеса мыши уже после достижения цели.
- Без задержки начинаем крутить колесом мыши в обратном направлении. При этом каждый четвёртый-пятый раз происходит "залипание" прокрутки. Скролтрек остаётся в конечном положении. Обработчик scroll не срабатывает. Для того, чтобы вернуться в нормальный режим прокрутки нужно остановить прокрутку колеса мыши на доли секунды и продолжить. Частота воспроизведения зависит от высоты контента прокручиваемой области, на некоторых примерах воспроизвести не смог. Воспроизводится только в Google Chrome.
Это связано с Mutation Observer, пока не было времени, я не вникал
Хм, пока не смог воспроизвести. Попробую воспроизвести на windows.
Кстати есть шанс, что это связано с аппаратным ускорением скролла: listener который меняет позицию бара пассивный, то есть он не требует ререндера при срабатывании. Это сделано как раз в целях повышения производительности.
Например на мобильных телефонах даже само событие отрабатывает лишь в самом конце скроллирования, поэтому на мобилках вообще не рекомендуется кастомизировать скроллбар.