window.setTimeout()
El
método setTimeout( ) es utilizado para retrasar la ejecución
de una acción un cierto tiempo. La acción es
la indicada con el primer argumento de la llamada y el tiempo
que se retrasa viene dado en milisegundos por el segundo argumento.
Es decir, una vez activado el temporizador cuando ha transcurrido
el tiempo indicado por el segundo argumento el navegador llama
una sola vez a la función cuyo nombre viene dado por
el primer argumento. Tras esta llamada el temporizador no vuelve
a actuar. Si queremos que este temporizador simple funcione
de manera cíclica basta con volverlo a activar dentro
de la función temporizada. Este método devuelve
un valor que se usará cuando queramos desactivar el
temporizador mediante el método clearTimeout(). Este
temporizador es compatible con versiones anteriores a la 4
de Microsoft y Netscape. El siguiente ejemplo abre una nueva
ventana 10 segundos después de abrir la ventana principal,
la que contenga el código del ejemplo:
function abrirVent( ){
window.open("aviso.htm");
}
timer = setTimeout("abrirVent()", 10000);;
En este otro ejemplo creamos un temporizador cíclico
que va modificando el color de un bloque DIV con su atributo
ID igual a cuadro:
var indColor = 0;
var colores = new Array();
colores = ['black', 'white','yellow','red','green','cyan'];
function cambColor( ){
document.all.cuadro.style.background = color[indColor];
indColor++ ;
if (indColor == colores.length)
indColor = 0;
setTimeout("cambColor()", 1000);
}
tempo = setTimeout("cambColor()", 1000);
Este sencillo ejemplo muestra como usar setTimeout( ) para
lograr el mismo efecto que con setInterval(), con la ventaja
de que podemos alterar la función llamada o el tiempo
del ciclo.
No hay comentarios:
Publicar un comentario