Всем привет. Пишу тут скрипт для кастомного скроллбара. Есть проблема.
Если высота списка не очень большая, но при этом большое количество текста в области скролла, то высота скроллбара будет очень маленькая.
Пример можно посмотреть тут <---
Пытался увеличивать его каким то множителем.
this.scroll.style.height =
this.scrollWrap.clientHeight * container.clientHeight / container.scrollHeight * 10 +'px';
Но в таком случае при скролле в самый низ, скролл принимает не правильную позицию. Не могу понять как рассчитать коэффициент для позиционированния скролла.
Тот что this.scroll.style.top
Подскажите как правильно реализовать.
Отнял от хода ползунка разницу между высотой скролла заданную через CSS и высотой, которую считает скрипт. И теперь все пиксель в пиксель)
let scrollHeight = (scrollWrap.clientHeight * scrollVis.clientHeight / scrollVis.scrollHeight);
let scrollTop = (scrollWrap.clientHeight - 30 + scrollHeight) * scrollVis.scrollTop / scrollVis.scrollHeight;
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники