Javascript: Funciones con retardo o repeticiones
A veces en javascript necesitamos ejecutar una función con un retardo o ejectuarla cada determinados milisegundos. En el artículo de hoy explicaremos como se hace.
setInterval VS setTimeOut en Javascript
Función setInterval en Javascript
Esta función sirve para llamar a otra función de javascript cada un determinado intervalo en milisegundos. Es decir, se llamará de forma infinita cada XXX milisegundos. Puede que queramos que cuando se cumpla una condición deje de ejecutarse, para ello se usa clearInterval. Con el siguiente script, cada segundo se hará un alert hasta que lleguemos a 10 alertas, momento en que pararemos
<script>
// Guardamos el identificador de intervalo para luego cancelarlo. Se llamara cada segundo
var id_intervalo = setInterval(hazAlert,1000);
var i_contador=0;
function hazAlert(){
// Cuando llegamos a 10 no se volverá a ejecutar
if (i_contador>=10) clearInterval(id_intervalo);
else {alert(i_contador);i_contador++}
}
</script>
Función settimeOut en javascript
Esta aunque puede parecer parecida a setInterval no lo es tanto. Esta función se usa para que una vez pasados XXX milisegundos se llame a una función que le digamos. Esta función se ejecuta sólo una vez
<script>
// Le decimos que cuando pase 1 segundo llame a hazAlert
// Se ejecutara una sola vez
setTimeOut(hazAlert,1000);
function hazAlert(){
alert('hola');
}
</script>