Portada | Monotemáticos | Secciones | Desarrolladores | Comunidad | Servicios | Servicios profesionales | RSS
Desde 0 | HTML | CSS | ASP | PHP | AJAX | Javascript | Promoción de webs | Rentabilidad de webs
Directorio | Manuales | Scripts | FAQs | Programas | Artículos Copyleft | Actualidad | La Cosecha | Colabora
Registrarse | Vuestras páginas | Foros del web | Lista de correo | Boletín de novedades
Generador METAs | Compras | Busca cursos
Alojamiento | Dominios.es | Micropagos SMS | Buscadores | Patentes, marcas | Creación web | Multimedia | Videos
Desarrollo Freelance | Buscar proyectos | Buscar profesionales | Solicitar desarrollo

Retardo en Javascript

¿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:


 Respuesta de Miguel Angel Alvarez  21/10/02 
La función que debes utilizar es window.setTimeout(expression/function, milliseconds)

En el primer parámetro tienes que indicar entre comillas la sentencia o sentencias a ejecutar. En el segundo debes indicar el tiempo a pasar en milisegundos antes de que se ejecuten.

Te paso un enlace de un taller que utiliza esta función para que te sirva como ejemplo:
http://www.desarrolloweb.com/articulos/358.php

Complementar la respuestaComplementar la respuesta
Volver al árbol de categoríasVolver al árbol de categorías

 Comentarios de los visitantes
Se muestran 3 comentarios revisados

 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);

}
}

 Comentarios sin revisar
Entre los comentarios no revisados puede haber algunos interesantes que se hayan enviado recientemente.
 Se han encontrado 2 comentarios sin revisar

Ver el comentario no revisadoVer los comentarios no revisados
 
FAQ relacionadas
  + Botón Javascript para Imprimir página web
  + Pasar variables de ASP o PHP hacia Javascript o viceversa
  + Enviar un mismo formulario a tres frames distintos
  + Enlace múltiple
  + Redimensionar en Netscape el tamaño de la ventana
  + ¿Cuál es la diferencia entre Java y Javascript?
  + Abrir ventanas secundarias en Javascript
  + Cómo tener dos scripts en la misma página para dos navegadores
  + Enviar al navegador a otra página si no tiene habilitado Javascript
  + Abrir una ventana pequeña que quede detrás de la principal.
  + Obtener datos de una base para construir mis javascripts
  + Sustituir puntos por comas en campos numéricos
  + Inhibir una caja de texto de formulario
  + Preguntar si desea enviar realmente un formulario
  + ¿Cómo puedo abrir y cerrar un popup?
  + Menú desplegable para la navegación
  + ¿Cómo puedo maximizar el navegador automáticamente?
  + Utilizar una ventana sin menús para mi web
  + Trabajar con un botón de radio en Javascript
  + JavaScript que muestra un mensage diferente cada día
  + Ir a la página anterior al pulsar una imagen
  + Como puedo hacer una ventana de navegador barra de herramientas.
  + Deshabilitar un botón de radio
  + Evitar que pueda verse el código fuente de la página
  + Habilitar o desabilitar checkbox en función del estado de otro checkbox
  + Comprobacion de formularios
  + Evitar que pida confirmación al cerrar una ventana
  + Abrir popup desde Iframe
  + Función eval en Javascript
  + Generar un color con Javascript
  + Crear con JavaScript variables globales a todos los frames
  + Variables globales en Javascript
  + Propiedades de la clase Math de Javascript
  + Bloquear popups desde la propia web
  + Submenú en otra ventana con Javascript
  + Crear objetos con Javascript
  + Convertir una variable en constante con Javascript
  + Ayuda con Javascript
  + Borrar contenido input automaticamente
  + Utilizar Javascript en tus páginas web
  + ...

Para ver más FAQ relacionadas accede a las categorías:

Complementar la respuestaComplementar la respuesta
Volver al árbol de categoríasVolver al árbol de categorías

DesarrolloWeb.com | Copyright | Anunciese | Acerca de | Datos legales | Contacta | Por GuiarteMultimedia