Eléphant du PHP |
176 Messages
29 nov. 2016, 13:39
Bonjour,
Ton problème vient de l'élément que tu caches.
Voici comment ce déroule ton code :
1. Initialement
<script>
$("#error").html( " <div class='alert alert-success message col-md-12' style='font-weight:bold;'><a href='#' class='close' data-dismiss='alert'>×</a>"+code_html+"</div>" );
$("#error").delay(2000).hide("slow");
</script>
<div id="error"></div>
2. Ajout de l'alerte
<script>
$("#error").html( "<div class='alert alert-success message col-md-12' style='font-weight:bold;'><a href='#' class='close' data-dismiss='alert'>×</a>"+code_html+"</div>" ); //On fait cette ligne
$("#error").delay(2000).hide("slow");
</script>
<div id="error">
<div class='alert alert-success message col-md-12' style='font-weight:bold;'><a href='#' class='close' data-dismiss='alert'>×</a>ducodehtmlrandom</div>
</div>
3. Attente plus cache l'alert
<script>
$("#error").html( "<div class='alert alert-success message col-md-12' style='font-weight:bold;'><a href='#' class='close' data-dismiss='alert'>×</a>"+code_html+"</div>" );
$("#error").delay(2000).hide("slow");
</script>
<div id="error" style="display:none;"> <!-- la div parente est cachée -->
<div class='alert alert-success message col-md-12' style='font-weight:bold;'><a href='#' class='close' data-dismiss='alert'>×</a>ducodehtmlrandom</div>
</div>
4. Deuxième passage
<script>
$("#error").html( "<div class='alert alert-success message col-md-12' style='font-weight:bold;'><a href='#' class='close' data-dismiss='alert'>×</a>"+code_html+"</div>" ); //On fait cette ligne
$("#error").delay(2000).hide("slow");//On fait cette ligne
</script>
<div id="error" style="display:none;"> <!-- la div parente est cachée -->
<div class='alert alert-success message col-md-12' style='font-weight:bold;'><a href='#' class='close' data-dismiss='alert'>×</a>unautrecodehtmlrandom</div>
</div>
Voila comment ton code marche le soucis c'est que tu cache la div parente et pas l'alert elle même je te conseille donc de remplacer
<script>
$("#error").delay(2000).hide("slow");
</script>
par
<script>
setTimeout(function() {
$("#error").empty();
}, 2000);
</script>
Cordialement
Naroth