Js скриптом узнаёшь высоту страницы, делишь на 100, получаешь размер одного процента высоты.
Узнаёшь высоту линии, делишь на 100.
Узнаёшь текущую позицию скролла, делишь на один процент высоты страницы.
Полученное умножаешь на один процент высоты линии и получаешь число процентов которое нужно закрасить.
Если вы два раза в коде пишете такую портянку:
Значит вы делаете, что то не так.