2012-04-16 14 views
7

Estoy tratando de abrir un cuadro de diálogo jQuery sin botones para mostrar con algunas animaciones y luego permanecer automáticamente allí durante 3 segundos, luego cerrar. Aquí está una jsFiddle de lo que creo que debería funcionar, pero como se puede ver que sólo se abre y se cierra sin waitng los 3 segundos:jQuery cuadro de diálogo abrir y cerrar automáticamente después de 3 segundos

jsFiddle: http://jsfiddle.net/WrdM9/1/

Alguien sabe cómo arreglar esto? Gracias!

Respuesta

16

Debe utilizar setTimeout:

open: function(event, ui) { 
    setTimeout(function(){ 
     $('#dialog').dialog('close');     
    }, 3000); 
} 

Aquí está el violín: http://jsfiddle.net/WrdM9/2/

+0

Impresionante, gracias! –

2

Usar la función de retardo, por ejemplo jQuery

$("#your-modal-id").slideDown(300).delay(800).slideUp(400); 
1

Si también desea agregar algunas transiciones, no recomendaría las animaciones jQuery slideUp y slideDown. Esos son lentos ya que usa CPU en lugar de GPU y las animaciones en sí no se sienten totalmente derecha.

Recomendaría Velocity.js en su lugar. Recuerde también agregar Velocity UI js. Y podría hacer algo como esto:

$("#your-modal-id").velocity('transition.slideUpBigOut', { delay: 3000 }) 
Cuestiones relacionadas