Этого можно добиться с помощью события scroll , которое вызовет scrollTrigger () , и там вы получите Scroll Top , а затем рассчитайте высоту и прогрессирующие значения окончательноустановить стиль CSS и текст при прокрутке, я думаю, что это понятно:)
window.onscroll = function() { scrollTrigger() };
function scrollTrigger() {
var scrollTop = document.documentElement.scrollTop;
var height = document.documentElement.scrollHeight - document.documentElement.clientHeight;
var progess = (scrollTop / height) * 100;
document.getElementById( 'progressbar' ).style.width = progess + "%";
document.getElementById( 'progressbar' ).innerHTML = "Upload is " + Math.round( progess ) + "% complete"
}
body { background: black; padding: 100px; margin: 0;height: 900px; }
.progress-bar{
width: 100vw;
height: 40px;
position: fixed;
bottom: 0;
left: 0;
background: #fff
}
.progress-bar > div {
color: white;
background: red;
overflow: hidden;
white-space: nowrap;
padding: 10px 0px;
border-radius: 10px;
width: 0%;
text-align: center;
}
<div class="progress-bar">
<div id="progressbar">0%</div>
</div>