Ejecutar cuando pasen X segundos en JavaScript

19/Nov/2007 JavaScript , , 4 Comentarios

Este artículo es un complemento a Ejecutar cada X segundos en JavaScript. Mientras que en el primer artículo veíamos como utilizar el método JavaScript setInterval para ejecutar una función cada X segundos de forma repetitiva, en este vemos como ejecutar una función a los X segundos. Para ello nos apoyaremos en la función JavaScript setTimeout.

La función setTimeout tiene la siguiente estructura:

  1. setTimeout(funcion_a_ejecutar,milisegundos);

El funcionamiento es muy sencillo. Se ejecutará la "funcion_a_ejecutar" cuando pasen los milisegundos especificados como segundo parámetro. La función solo se ejecutará una vez.

Lo primero que haremos será el definir una función muy sencilla. Que solo muestre un mensaje por pantalla. Será nuestro saludo:

  1. <script type="text/javascript">
  2. function saludo(){
  3. alert("Han pasado 3 segundos");
  4. }
  5. </script>

Y ahora establecer el temporizador. Este le activaremos cuando se pulse un botón:

  1. <button onclick="setTimeout('saludo()',3000);">Saludo a los 3 segundos</button>

Es muy importante que el método a ejecutar que especifiquemos en la función setTimeout lo pongamos entre comillas.

4 comentarios en “Ejecutar cuando pasen X segundos en JavaScript”

Víctor Cuervo

Santi

Buenos dias me podrias decir en vez que salte el mensaje saludo,que saltase una consulta a la base de datos te pongo un ejemplo:
A los 4 segundos saltase consulta.php(aqui yo tendria la consulta a la base de datos),un saludo muchas gracias

Víctor Cuervo

Víctor Cuervo

Claro, lo que tienes que hacer es realizar una petición AJAX. Puedes ver el ejemplo que cómo realizar esto en http://lineadecodigo.com/jquery/peticiones-ajax-con-jquery/

Ya solo tienes que combinar los dos códigos.

Espero que lo consigas.

Saludos.

Víctor Cuervo

Bryan

Muchas gracias por este tutorial, me soluciono un problema.

Víctor Cuervo

Víctor Cuervo

Nos alegra que te haya servido. 😀

¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*

*