Cuando
un se activa un temporizador cíclico, mediante el método
setInterval(), la llamada a la función temporizada se
ejecuta de manera regular mientras esté abierta la ventana
del navegador, este proceso no se detiene nunca. Pero en ocasiones
lo que nesitamos es que estas llamadas se ejecuten un número
limitado de veces o bien podemos necesitar detenerlas en un
momento determinado por la acción del usuario o por
cualquier otro evento, en estos casos utilizaremos el método
clearInterval(tempor), cuyo objeto es precisamente borrar el
temporizador que se le pasa como argumento, este temporizador
es el valor devuelto por el método setInterval().
Por ejemplo en el siguiente código la función contar
se ejecuta 10 veces, para lo cual en cada ejecución incrementa
el valor de un contador, al que llamamos veces, cuando su valor
llega a 10 se borra el temporizador.
var veces =0;
function contar(){
contar++;
if (contar == 10)
clearInterval(temp10);
}
var temp10 = setInterval("contar()", 1000);
Como es lógico el temporizador debe ser una variable
global, o sea, definida al nivel del objeto window, fuera de
cualquier función. También podríamos borrar
el temporizador a instancias del usuario desde un hipervínculo
o un botón y un evento onclick().