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
-----------------------------------------------------

Responder a