hola el_canan,
 
no sé como usas setInterval, pero sí tiene esa ventaja/incoveniente; se ejecuta hasta el infinito y más allá. Para detener un setInterval tienes que lanzarlo desde una variable creada para ese fin, y detenerla llamando a esa variable con clearInterval. 
Te pongo un ejemplo, que lo mismo no me he explicado bien:    
Código Javascript
:
Ver original- var ejecutar; //esta es la variable que creamos para el setInterval 
-   
- function iniciarInterval() 
- { 
- ejecutar = setInterval("tu_funcion()",1000); 
- } 
- function detenerInterval() 
- { 
- clearInterval(ejecutar); 
- } 
saludos.