Pull to refresh

Comments 2

Спасибо за ссылку — интересное решение. Это действительно один из вариантов решения задачи, но он решает её на другом уровне.

Они сохранили нативный механизм скролла браузера (overflow: scroll) и фактически заменили только его визуальное представление: скрыли системный scrollbar и синхронизировали с scrollTop собственный. В статье это прямо указано как основное требование решения.

При этом авторы сами указывают на ограничения такого подхода:

«К недостаткам можно отнести отсутствие горизонтального скроллбара и контролов управления вертикальным».

morphing-scroll пошёл в другую сторону. Мне было недостаточно просто заменить внешний вид scrollbar — хотелось управлять самим поведением скролла: анимацией, горизонтальным wheel, nested scrolling, slider-режимом, keyboard/touch interaction, виртуализацией и т.д.

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

Так что я бы сказал, что решение 2ГИС — это скорее custom scrollbar поверх native scrolling, а morphing-scroll — кастомный scroll-компонент с собственной моделью поведения.

Но спасибо за ссылку — подход 2ГИС действительно интересный. Более того, первые версии библиотеки у меня как раз двигались примерно в этом направлении, пока я не упёрся в ограничения native scrolling.

Sign up to leave a comment.

Articles