0
votes

Comment programmer mon alerte pour qu'elle disparaisse après 3 secondes?

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">&times;</span></button>
    <strong>Success!</strong> You have been signed in successfully!
 </div>


0 commentaires

3 Réponses :


0
votes

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">&times;</span></button>
    setTimeout(() => { alert("Your message"); }, time);
 </div>


0 commentaires

1
votes

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">&times;</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">&times;</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);


0 commentaires

0
votes

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);


0 commentaires