How to create: scroll indicator

Learn how to use CSS and JavaScript to create a scroll indicator.

Try It Yourself

How to create a scroll indicator

Step 1 - Add HTML:

<div class="header">
  <h2>Scroll Indicator</h2>
  <div class="progress-container">
    <div class="progress-bar" id="myBar"></div>
  </div>
</div>
<div>content...</div>

Step 2 - Add CSS:

/* Set title style: fixed position (always stay at the top) */
.header {
  position: fixed;
  top: 0;
  z-index: 1;
  width: 100%;
  background-color: #f1f1f1;
}
/* Progress container (gray background) */
.progress-container {
  width: 100%;
  height: 8px;
  background: #ccc;
}
/* Progress bar (scroll indicator) */
.progress-bar {
  height: 8px;
  background: #04AA6D;
  width: 0%;
}

Step 3 - Add JavaScript:

// When the user scrolls the page, execute myFunction
window.onscroll = function() {myFunction()};
function myFunction() {
  var winScroll = document.body.scrollTop || document.documentElement.scrollTop;
  var height = document.documentElement.scrollHeight - document.documentElement.clientHeight;
  var scrolled = (winScroll / height) * 100;
  document.getElementById("myBar").style.width = scrolled + "%";
}

Try It Yourself