| Portada | Monotemáticos | Secciones | Desarrolladores | Comunidad | Servicios | Servicios profesionales | RSS | ||||
|
¿Cómo se puede hacer un Delay dentro de una funcion JavaScript? Para ejecutar una sentencia o sentencias cuando pase un tiempo determinado.
La FAQ Retardo en Javascript tiene Pertenece a la categoría:
Comentarios de los visitantes
Comentario de Germán
28/1/04
La solución propuesta con setTimeout es sólo cierta a medias... El problema es que el retraso no afecta al hilo de ejecución de nuestro código porque el código incluido en el setTimeout se ejecuta en segundo plano. O sea, algo como
alert ('Antes'); setTimeout ('nada ()', 5000); alert ('Después'); producirá dos alerts seguidos, sin esperar 5 segundos entre uno y otro. Sin embargo, alert ('Antes'); setTimeout ("alert ('Después');", 5000); sí producirá la salida esperada. Y ya, rizando el rizo, este código: 1 alert ('Antes'); 2 setTimeout ("alert ('Después');", 5000); 3 alert ('Después'); dará dos alerts seguidos (la línea 1 y la 3) y, a los cinco segundos, otro (línea 2). Espero que este comentario os sea útil. Comentario de DeYoN
10/3/04
El problema que comenta German es cierto, no detiene la ejecución de todo el programa.
Para solucionar este problema se puede hacer una función que contenga todo el programa y usar setTimeout para llamar a la función. function miFuncion() { sent1; sent2; sent3; sent4; ... } ... setTimeout("miFuncion",3000); Saludos Comentario de Ricardo
17/8/04
con una funcion como esta puedes hacer un perfecto retardo estilo C++, peroo, no vas a poder ejecutar ningun evento mientras se ejecute esta funcion.
function delay(milisegundos) { for(i=0;i<=milisegundos;i++) { setTimeout('return 0',1); } }
Para ver más FAQ relacionadas accede a las categorías: |
|
||||||||||||||||
| Complementar la respuesta | |
| Volver al árbol de categorías |
| DesarrolloWeb.com | Copyright | Anunciese | Acerca de | Datos legales | Contacta | Por GuiarteMultimedia | ||||