I'estou tentando criar um efeito onde a página carrega, e após 5 segundos, a mensagem de sucesso na tela se desvanece, ou desliza para cima.
Como posso conseguir isto?
Construído em javascript setTimeout.
setTimeout(
function()
{
//do something special
}, 5000);
UPDATE: você quer esperar desde quando a página terminou de carregar, então coloque esse código dentro do seu $(document).ready(...);
script.
UPDATE 2: jquery 1.4.0 introduziu o método `.delay'. Check it out. Note que .delay só funciona com as filas de efeitos jQuery.
Use um temporizador javascript normal:
$(function(){
function show_popup(){
$("#message").slideUp();
};
window.setTimeout( show_popup, 5000 ); // 5 seconds
});
Isto vai esperar 5 segundos após o DOM estar pronto. Se você quiser esperar até que a página esteja realmente "carregada", você precisa utilizar isto:
$(window).load(function(){
function show_popup(){
$("#message").slideUp();
};
window.setTimeout( show_popup, 5000 ); // 5 seconds
})
EDIT: Em resposta ao comentário do OP's perguntando se existe uma maneira de fazer isso em jQuery e não utilizar setTimeout
a resposta é não. Mas se você quisesse fazer mais "jQueryish" você poderia embrulhá-lo assim:
$.wait = function( callback, seconds){
return window.setTimeout( callback, seconds * 1000 );
}
Podias então chamar-lhe assim:
$.wait( function(){ $("#message").slideUp() }, 5);