Est-il possible de masquer automatiquement un élément dans une page Web 5 secondes après le chargement du formulaire à l'aide de jQuery?
En gros, j'ai
<div id="successMessage">Project saved successfully!</div>
que j'aimerais disparaître après 5 secondes. J'ai examiné l'interface utilisateur de jQuery et l'effet de masquage, mais j'ai quelques difficultés à le faire fonctionner comme je le souhaite.
<script type="text/javascript">
$(function() {
function runEffect() {
var selectedEffect = 'blind';
var options = {};
$("#successMessage").hide(selectedEffect, options, 500);
};
$("#successMessage").click(function() {
runEffect();
return false;
});
});
</script>
J'aimerais que la fonction click soit supprimée et ajoute une méthode de délai d'attente qui appelle runEffect () après 5 secondes.
beaucoup de gracias!
$(function() {
// setTimeout() function will be fired after page is loaded
// it will wait for 5 sec. and then will fire
// $("#successMessage").hide() function
setTimeout(function() {
$("#successMessage").hide('blind', {}, 500)
}, 5000);
});
Note : Pour que votre fonction jQuery fonctionne dans setTimeout, vous devez l'envelopper à l'intérieur.
function() { ... }
$('#selector').delay(5000).fadeOut('slow');
Tu peux essayer :
setTimeout(function() {
$('#successMessage').fadeOut('fast');
}, 30000); // <-- time in milliseconds
Si vous avez utilisé cela, votre div sera cachée après 30 secondes. J'ai aussi essayé celui-ci et cela a fonctionné pour moi.
Vous utilisez setTimeout sur la fonction runEffect:
function runEffect() {
setTimeout(function(){
var selectedEffect = 'blind';
var options = {};
$("#successMessage").hide(selectedEffect, options, 500)
}, 5000);
}
Je pense que vous pourriez aussi faire quelque chose comme ...
setTimeout(function(){
$(".message-class").trigger("click");
}, 5000);
et faites vos effets animés sur l'événement-clic ...
$(".message-class").click(function() {
//your event-code
});
Salutations,
jQuery (". success_mgs"). show (); setTimeout (function () {jQuery (". success_mgs"). hide ();}, 5000);
Voici comment vous pouvez définir le délai après avoir cliqué.
$(".selectorOnWhichEventCapture").on('click', function() {
setTimeout(function(){
$(".selector").doWhateverYouWantToDo();
}, 5000);
});
// 5000 = 5sec = 5000 millisecondes
Veuillez noter que vous devrez peut-être afficher à nouveau le texte div après sa disparition . Vous devrez donc également vider, puis afficher à nouveau l'élément à un moment donné.
Vous pouvez le faire avec 1 ligne de code:
$('#element_id').empty().show().html(message).delay(3000).fadeOut(300);
Si vous utilisez jQuery, vous n'avez pas besoin de setTimeout, du moins pas pour masquer automatiquement un élément.