J’essaie de créer un effet où la page se charge, et après 5 secondes, le message de réussite à l’écran s’évanouit, ou glisse vers le haut.
Comment puis-je réaliser cet effet ?
Construit en javascript setTimeout.
setTimeout(
function()
{
//do something special
}, 5000);
MISE À JOUR : vous voulez attendre depuis que la page a fini de se charger, donc mettez ce code dans votre script $(document).ready(...);
.
MISE À JOUR 2 : jquery 1.4.0 a introduit la méthode .delay
. Check it out. Notez que .delay ne fonctionne qu'avec les files d'attente d'effets de jQuery.
Utilisez un minuteur javascript normal :
$(function(){
function show_popup(){
$("#message").slideUp();
};
window.setTimeout( show_popup, 5000 ); // 5 seconds
});
Ceci attendra 5 secondes après que le DOM soit prêt. Si vous voulez attendre jusqu'à ce que la page soit effectivement chargée
, vous devez utiliser ceci :
$(window).load(function(){
function show_popup(){
$("#message").slideUp();
};
window.setTimeout( show_popup, 5000 ); // 5 seconds
})
EDIT: En réponse au commentaire de l'OP demandant s'il y a un moyen de le faire en jQuery et de ne pas utiliser setTimeout
, la réponse est non. Mais si vous voulez le rendre plus "jQueryien", vous pouvez le faire comme ceci :
$.wait = function( callback, seconds){
return window.setTimeout( callback, seconds * 1000 );
}
Vous pourriez ensuite l'appeler comme ceci :
$.wait( function(){ $("#message").slideUp() }, 5);