Индикатор прокрутки

  alexei 09/11/2022 - 10:50

Здесь вы узнаете, как сделать индикатор прокрутки при помощи CSS и JavaScript.



Как сделать индикатор прокрутки

Шаг 1) Добавляем HTML:


<div class="header">
  <h2>Индикатор прокрутки</h2>
  <div class="progress-container">
    <div class="progress-bar" id="myBar"></div>
  </div>
</div>

<div>контент...</div>

Шаг 2) Добавляем CSS:


/* Стили для header: фиксированная позиция (всегда вверху страницы) */
.header {
  position: fixed;
  top: 0;
  z-index: 1;
  width: 100%;
  background-color: #f1f1f1;
}

/* Контейнер прогресса (серый фон) */
.progress-container {
  width: 100%;
  height: 8px;
  background: #ccc;
}

/* Полоса прогресса (индикатор прокрутки) */
.progress-bar {
  height: 8px;
  background: #04AA6D;
  width: 0%;
}

Шаг 3) Добавляем JavaScript:


// Когда пользователь прокручивает страницу, выполняется функция 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 + "%";
}