Come creare: Barra di progresso JavaScript

Impara come creare una barra di progresso con JavaScript.

Crea la barra di progresso

Passo 1 - Aggiungi HTML:

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

Passo 2 - Aggiungi CSS:

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

Passo 3 - Aggiungi JavaScript:

Crea una barra di progresso dinamica con JavaScript (effetto animato):

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 + "%";
      }
    }
  }
}

Prova da solo

Aggiungi etichetta

Se desideri aggiungere etichette per indicare l'avanzamento dell'utente nel processo, aggiungi un nuovo elemento all'interno (o all'esterno) della barra di progresso:

Passo 1 - Aggiungi HTML:

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

Passo 2 - Aggiungi CSS:

#myBar {
  width: 10%;
  height: 30px;
  background-color: #04AA6D;
  text-align: center; /* Allineamento orizzontale (se necessario) */
  line-height: 30px; /* Allineamento verticale */
  color: white;
}

Prova da solo

Passo 3 - Aggiungi JavaScript:

Se desideri aggiornare dinamicamente il testo all'interno di un etichetta per farlo corrispondere alla larghezza della barra di progresso, aggiungi il seguente contenuto:

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 + "%";
      }
    }
  }
}

Prova da solo