Как сделать такую же активную полосу как у Slinky?

Прошу помогите понять, как сделать такую активную полоску сверху, как у этого сервиса. Уже три дня мучаюсь и не получается сделать для новостного сайта, а подрядчик требует и уже ругается. Пример ссылки https://www.slinky.me/Хабрахабр

Не понимаю следующее:
Как сделать, чтобы полоса могла измерить размер страницы ? (Помогите с алгоритмом).
Как сделать так, чтобы она меняла цвет в зависимости от состояния ?

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

7e6baa2236f843c697e0439c3b6b4f4a.jpg
924493ca2cfd42e291cdaa2c495e4a7f.jpg
  • Вопрос задан
  • 3348 просмотров
Пригласить эксперта
Ответы на вопрос 3
iiil
@iiil
Инженер и вэб-дизайнер, рисую.
jquery.page2page.ru/index.php5/%D0%A0%D0%B0%D0%B1%...
H - вся высота страницы,
h - высота видимой части страницы.
ширина при скролле: когда высота скролла = 0 - ширина 0,
когда высота скролла равна H-h, ширина блока 100%.
Вот в общем-то и все.
Ответ написан
ezhikov
@ezhikov
Верстка+стили - делаете полосу, ширину выставляете на 0;
JS - вычисляете высоту документа. По событию скролла добавляете (в процентах, чтобы не зависеть от разрешения) соответствующее значение ширины к полосе. Для плавности можно использовать css transitions или анимации на js.
Ответ написан
dudeonthehorse
@dudeonthehorse
Email Developer
Считаем document.height и document.width.
На событии скролла вычитаем верхний offset от window.height. Приводим значение к процентам от window.height. Рисуем полоску размером в полученных процентах. Проценты применяем уже к document.width
Ответ написан
Ваш ответ на вопрос

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

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