2012-09-25 17 views

Respuesta

8

Proporcionar una devolución de llamada para la demostración()

$('#error').delay(800).show(0, function() { 
    setTimeout(function() { 
     location.href = '/profile' 
    }, 8000); 
}); 

documentación sobre .show() http://api.jquery.com/show/

El 'show' que ocurrirá después de 800 milisegundos, a continuación, después de que se muestra el elemento, se producirá la redirección 8 segundos después. Con este código, tendrás 2 'retrasos' por así decirlo.

+0

Lo siento, me olvidé de mencionar que quiero retrasar la redirección también. –

+0

Simplemente agregue un setTimeout para la redirección. – Mark

1

Use window.setTimeout() en su lugar, .delay solo se puede usar para la animación jQuery.

$('#error').show(); 
setTimeout(function() { 
    location.href = '/profile'; 
}, 800); 
+0

Gracias por aclarar. –

+0

Esta no es la manera correcta de usar cuando se usa jQuery. Las retrollamadas están ahí por una razón. Obviamente, su código funciona bien, pero si el OP deseaba complicarlo de alguna manera agregando más llamadas encadenadas, entonces querría usar devoluciones de llamada. – Ian

Cuestiones relacionadas