// prévention de l'empilement d'alertes, qui entrainerait la suppression de tous les messages sauf le dernier // Pour cela, on utilise une file et une fonction asynchrone qui boucle et vide la file alerte par alerte let file_alertes = [] function ouvrirAlerte(message){ file_alertes.push(message) // si c'est la seule alerte en attente, on l'affiche if(file_alertes.length == 1 ) { afficherAlerte(file_alertes[0]) } // sinon, elle sera automatiquement affichée lors de la fermeture de l'alerte juste avant dans la file } // Fonction pour afficher une alerte mais plus jolie que celle par défaut function afficherAlerte(message) { // on signale une alerte en train d'être visionnée flag = true // on prend les elements let modal = document.getElementById('alerte_jolie'); var messageElement = document.getElementById('message_alerte_jolie'); // Mettre le message messageElement.textContent = message; // et on affiche en changeant la propriété css modal.style.display = "block"; } // Fonction pour fermer l'alerte function fermerAlerte() { var modal = document.getElementById('alerte_jolie'); // et on cache en changeant la propriété css modal.style.display = "none"; // enlève notre élément de la file file_alertes.shift() // affiche récursivement les autres alertes en attentes if(file_alertes.length > 0){ afficherAlerte(file_alertes[0]) } }