Raúl Fernández [TANGENT] escribió:
> Hola, tengo un problema con setInterval que no acabo de entender.
> Tengo un par de funciones que deshabilitan una serie de botones durante un
> segundo y luego los vuelven a habilitar. El código es el siguiente:
>
> ---- codigo ----
>
> var intervalNav:Number=0;
>
> function disableNav():Void{
> trace("disableNav");
> if(intervalNav!=null){
> delete intervalNav;
> }
> intervalNav = setInterval(enableNav,1000);
> }
>
>
> function enableNav():Void{
> trace("enableNav");
> clearInterval(intervalNav);
> }
>
> ---- fin código ---
>
> La function disableNav es llamada desde distintos puntos de la aplicación.
> El problema es que el enableNav en algunos casos queda ejecutandose
> indefinidamente. Teneis idea de que puedo estar haciendo mal?
>
>
> Raúl Fernández
>
>
> -----------------------------------------------------
> ASNativos
> www.5dms.com
> subscripciones/desubscripciones
> http://asnativos.5dms.com
> -----------------------------------------------------
>
>
>
Pues me huelo....
que haces un "delete intervalNav;" dentro de disableNav que debería
ser un clearInterval(internalNav);
Ahora mismo, si llamas a disableNav dos veces seguidas no borras el
timer antiguo, y pierdes su referencia...
;)
-----------------------------------------------------
ASNativos
www.5dms.com
subscripciones/desubscripciones
http://asnativos.5dms.com
-----------------------------------------------------