Este artículo es un complemento a Ejecutar cada X segundos en JavaScript. Mientras que en el primer artículo veíamos cómo utilizar el método Javascript .setInterval()
para ejecutar una función cada X segundos de forma repetitiva, en este vemos como ejecutar cuando pasen X segundos en JavaScript una función. Para ello nos apoyaremos en la función Javascript .setTimeout()
.
La función
.setInterval()
nos permite ejecutar de forma recurrente una función cada x intervalos, mientras que la función.setTimeout()
nos sirve para poder ejecutar una función, una única vez, transcurrido un tiempo,
La función .setTimeout()
tiene la siguiente estructura:
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. Esta función Javascript solo se ejecutará una vez. Y transcurrido ese tiempo no se volverá a ejecutar a no ser que la invoquemos nuevamente.
Lo primero que haremos será el definir una función muy sencilla. Que solo muestre un mensaje por pantalla. Será nuestro típico saludo, ¿se te ocurre función más sencilla?:
function saludo(){ alert("Han pasado 3 segundos"); }
Y ahora establecer el temporizador. Este le activaremos cuando se pulse un botón:
<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.
De esta forma habremos conseguido ejecutar cuando pasen X segundos en Javascript una función. Algo muy sencillo a establecer un intervalo. Esto se utiliza cuando necesitamos que la función se ejecute una única vez.