SkipTyler
@SkipTyler
Junior+ Front-End developer

Как высчитать коэффициент для расчета позиционирования скроллбара?

Всем привет. Пишу тут скрипт для кастомного скроллбара. Есть проблема.

Если высота списка не очень большая, но при этом большое количество текста в области скролла, то высота скроллбара будет очень маленькая.

Пример можно посмотреть тут <---

Пытался увеличивать его каким то множителем.

this.scroll.style.height = 
            this.scrollWrap.clientHeight * container.clientHeight / container.scrollHeight * 10 +'px';

Но в таком случае при скролле в самый низ, скролл принимает не правильную позицию. Не могу понять как рассчитать коэффициент для позиционированния скролла. Тот что this.scroll.style.top

Подскажите как правильно реализовать.
  • Вопрос задан
  • 350 просмотров
Решения вопроса 1
SkipTyler
@SkipTyler Автор вопроса
Junior+ Front-End developer
Как посоветовал Сергей delphinpro отнял от хода ползунка разницу между высотой скролла заданную через CSS и высотой, которую считает скрипт.
И теперь все пиксель в пиксель)
let scrollHeight = (scrollWrap.clientHeight * scrollVis.clientHeight / scrollVis.scrollHeight);
let scrollTop = (scrollWrap.clientHeight - 30 + scrollHeight) * scrollVis.scrollTop / scrollVis.scrollHeight;
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы