J'ai donc cette alerte mais je ne sais pas comment la programmer de telle sorte qu'elle disparaisse automatiquement après 3 secondes. Je suis un débutant et j'ai vraiment du mal avec ça. J'utilise reactJS. Voici le lien de ce à quoi il ressemble au cas où quelqu'un voudrait le voir.
Ceci est mon alerte
<div class="alert alert-success" id="alertDiv" role="alert" style={{ fontSize: 20 }}>
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
<strong>Success!</strong> You have been signed in successfully!
</div>
3 Réponses :
Ajoutez setTimeout() à votre alerte. Quelque chose comme:
<div class="alert alert-success" id="alertDiv" role="alert" style={{ fontSize: 20 }}>
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
setTimeout(() => { alert("Your message"); }, time);
</div>
La première méthode que vous pouvez utiliser consiste à utiliser jQuery: cela fera disparaître l'alerte après 3 secondes. Vous utilisez la fonction javascript setInterval et exécutez la fonction après 3000 millisecondes. Ensuite, je lance jQuery .fadeOut() pour le faire disparaître.
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous">
<div class="alert alert-success" id="alertDiv" role="alert" style={{ fontSize: 20 }}>
<button onclick="document.getElementById('alertDiv').style.opacity = '0'" type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
<strong>Success!</strong> You have been signed in successfully!
</div>#alertDiv {
transition: opacity 1s;
} Vous pouvez également y arriver sans jQuery et en utilisant Javascript et code CSS: Cela utilisera aussi le Javascript setInterval fonction et Javascript .style et .display méthodes qui seront définies à none .
const target = document.getElementById("alertDiv");
window.onload = setInterval(() => target.style.opacity = '0', 3000)<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous">
<div class="alert alert-success" id="alertDiv" role="alert" style={{ fontSize: 20 }}>
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
<strong>Success!</strong> You have been signed in successfully!
</div>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js" integrity="sha384-OgVRvuATP1z7JjHLkuOU7Xw704+h835Lr+6QL9UvYjZE3Ipu6Tp75j7Bh/kR0JKI" crossorigin="anonymous"></script>setInterval(function(){ $(".alert").fadeOut(); }, 3000);Bienvenue dans le débordement de pile. Je pense que ce que vous recherchez est setTimeout .
Cet exemple pourrait vous aider: https://jsfiddle.net/zdb6vego/
var milliseconds = 3000;
setTimeout(function () {
document.getElementById('my-app').remove();
}, milliseconds);