Индикатор прогресса

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



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

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

Пример


<div id="myProgress">
  <div id="myBar"></div>
</div>

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

Пример


#myProgress {
  width: 100%;
  background-color: grey;
}

#myBar {
  width: 1%;
  height: 30px;
  background-color: green;
}

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

Создаем динамический (анимированный) индикатор прогресса при помощи JavaScript:

Пример


var i = 0;
function move() {
  if (i == 0) {
    i = 1;
    var elem = document.getElementById("myBar");
    var width = 1;
    var id = setInterval(frame, 10);
    function frame() {
      if (width >= 100) {
        clearInterval(id);
        i = 0;
      } else {
        width++;
        elem.style.width = width + "%";
      }
    }
  }
}

Попробовать самому »

Добавление меток

Если вы хотите добавить метки, показывающие на каком этапе выполнения находится прогресс, добавьте новый элемент внутри (или снаружи) индикатора прогресса:

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

Пример


<div id="myProgress">
  <div id="myBar">10%</div>
</div>

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

Пример


#myBar {
  width: 10%;
  height: 30px;
  background-color: #04AA6D;
  text-align: center; /* Центрируем по горизонтали (если нужно) */
  line-height: 30px; /* Центрируем по вертикали */
  color: white;
}

Попробовать самому »

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

Если вы хотите, чтобы текст метки динамически обновлялся в соответствии со значением ширины индикатора прогресса, добавьте следующий код:

Пример


var i = 0;
function move() {
  if (i == 0) {
    i = 1;
    var elem = document.getElementById("myBar");
    var width = 10;
    var id = setInterval(frame, 10);
    function frame() {
      if (width >= 100) {
        clearInterval(id);
        i = 0;
      } else {
        width++;
        elem.style.width = width + "%";
        elem.innerHTML = width + "%";
      }
    }
  }
}

Попробовать самому »