Sélectionner une page

Chargement en cours...

Tutoriel : Coder une Progress Bar en quelques étapes faciles

08/05/2025 à 08:16

Écrit par Johanny

Javascript

Intermédiaire

86 vues

Sommaire

Vous voulez apporter une touche professionnelle à vos articles WordPress ? Ajoutez une barre de progression animée !
Cet outil permet aux lecteurs de visualiser leur progression tout en lisant votre contenu. Facile à implémenter avec un peu de CSS et JavaScript, cette amélioration rehaussera l'apparence et l'ergonomie de votre site.

1- Préparation du fichier JavaScript pour coder la Progress Bar

Coder une Progress Bar n’est pas aussi difficile qu’il n’y parait. Avec les nouvelles technologies comme ChatGPT. Il est aisé de retrouver un code de base et de l’intégrer.

Mais reprendre un code sans savoir le personnaliser peut frustrer les développeurs juniors.

Créer la structure HTML de la Progress Bar en JavaScript

Pour commencer, nous aurons besoin de deux <div> contenant la Progress Bar. Pour cela, je vais dire à JS de me créer des div juste avant la balise de fermeture du <footer>.


const progressBarContainer = document.createElement("div");
progressBarContainer.id = "progress-bar-container";

const progressBar = document.createElement("div");
progressBar.id = "progress-bar";
progressBarContainer.appendChild(progressBar);

On déclare deux constantes avec lesquelles l’on stocke deux id pour le CSS.
Puis, on va le placer juste avant la balise footer:


const footer = document.querySelector("footer");
if (footer) {
  footer.parentNode.insertBefore(progressBarContainer, footer);
}

Créer une function pour écouter le scroll

Puis, on va créer un function qui va écouter le scroll de la souris comme ceci :


window.addEventListener("scroll", () => {
const totalHeight =
    document.documentElement.scrollHeight - document.documentElement.clientHeight;
  const scrollTop = window.scrollY || document.documentElement.scrollTop;
  const scrollPercentage = (scrollTop / totalHeight) * 100;

  progressBar.style.width = `${scrollPercentage}%`;
}

Ici, on va calculer, la hauteur et la position de la page et terminer par une division, on obtient un pourcentage en fonction de la position la progress bar, avance ou recul.

2-Un peu de CSS pour la Progress Bar

À présent, on rajoute le CSS:


#progress-bar-container {
      position: fixed;
      bottom: 0;
      left: 50%;
      transform: translate(-50%, 0);
      margin-bottom: 5px;
      width: 80%;
      height: 5px;
      background-color: rgba(0, 0, 0, 0.884);
      z-index: 1000;
     
    }

 #progress-bar {
      &{
        transition:background-color 0.2s ease;
        height: 100%;
        width: 0%;
        background-color: #df3112;
        transition: width 0.2s ease;
      }

 

Conclusion

Et voilà, c’est fini, n’oubliez pas de déclarer votre script à la fin de votre page web sur laquelle vous voulez rajouter le code.

Si vous avez des difficultés ou apporter des remarques

Commentez !

Cette article t'a plu ?

Ajoute le premier commentaire

0 Commentaires
Le plus récent
Le plus ancien Le plus populaire
Commentaires en ligne
Afficher tous les commentaires

Rechercher sur le site: