Comment créer : Barre de progression JavaScript

Apprenez à créer une barre de progression en utilisant JavaScript.

Créez une barre de progression

Étape 1 - Ajoutez HTML :

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

Étape 2 - Ajoutez CSS :

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

Étape 3 - Ajoutez JavaScript :

Créez une barre de progression dynamique en utilisant JavaScript (effet animé) :

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

Essayez-le vous-même

Ajouter une étiquette

Si vous souhaitez ajouter une étiquette pour indiquer à l'utilisateur la progression actuelle du processus, vous pouvez ajouter un nouvel élément à l'intérieur (ou à l'extérieur) de la barre de progression :

Étape 1 - Ajoutez HTML :

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

Étape 2 - Ajoutez CSS :

#myBar {
  width: 10%;
  height: 30px;
  background-color: #04AA6D;
  text-align: center; /* centré horizontalement (si nécessaire) */
  line-height: 30px; /* centré verticalement */
  color: white;
{}

Essayez-le vous-même

Étape 3 - Ajoutez JavaScript :

Si vous souhaitez mettre à jour dynamiquement le texte à l'intérieur de l'étiquette pour qu'il soit égal à la valeur de la largeur de la barre de progression, ajoutez le contenu suivant :

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

Essayez-le vous-même