Comunidad de diseño web y desarrollo en internet online

mi querido clearInterval...

Citar            
MensajeEscrito el 22 Ene 2007 11:35 pm
Por mas que lo intento nunca consigo matar la funcion setInterval, que es lo que falla?

en un principio pense que pudiera ser la ruta del clearInterval y probe con:

botonera_mc.volver_btn.clearInterval ( tiempo );
this.clearInterval ( tiempo );

pero ninguno de los dos consiguio matar la funcion setInterval, asi que espero que alguien me pueda decir que es lo que hago mal :(

Código :

var alfa:Number = 100;
function fadeOut () {
   if (alfa > 0) {
      alfa--;
      _parent._alpha = alfa;
      trace (_parent._alpha);
   }
   if (alfa <= 0) {
      clearInterval ( tiempo );
      trace ("se cerro el setInterval");
      _root.contenedor_mc.loadMovie ("principal.swf", 1);
   }
}

this.botonera_mc.volver_btn.onRelease = function () {
   var tiempo:Number = setInterval (fadeOut ,10);
}

Por noctam

Claber

197 de clabLevel



 

firefox
Citar            
MensajeEscrito el 22 Ene 2007 11:49 pm
añadele dos parentess a fadeout

Por FeNtO

BOFH

5091 de clabLevel

18 tutoriales

1 ejemplo

  Bastard Operators From Hell

FeNtO DataCenter

firefox
Citar            
MensajeEscrito el 23 Ene 2007 12:17 am
¿?

la funcion fadeOut ya tiene los parentesis, a que te refieres?

Código :

function fadeOut () {

Por noctam

Claber

197 de clabLevel



 

firefox
Citar            
MensajeEscrito el 23 Ene 2007 01:24 am
Buenas noches...alguien online por favor?

Por dante66

3 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 23 Ene 2007 04:49 am
dante esto no es un chat, espera a qu alguien te responda y el fadeout dentro del setinterval

Por FeNtO

BOFH

5091 de clabLevel

18 tutoriales

1 ejemplo

  Bastard Operators From Hell

FeNtO DataCenter

firefox
Citar            
MensajeEscrito el 23 Ene 2007 10:19 am
te refieres a esto? :

Código :

var tiempo:Number = setInterval (fadeOut() ,10);


acabo de probarlo y lo que hace es llamar a la funcion fadeOut una sola vez por click, con lo que no me realiza el bucle que acaba probocando el fadeOut.

Alguna otra opcion?

Por noctam

Claber

197 de clabLevel



 

firefox
Citar            
MensajeEscrito el 23 Ene 2007 10:46 am
a ultima hora consegui (creo) que se detuviera el setInterval lo solucione añadiendo lo siguiente:

Código :

return clearInterval (tiempo);


tiene que estar al principio del if, si no parece ser que no funciona bien, pero al hacer esto no se carga la pelicula "principal.swf"...he comprobado la ruta y el nombre del archivo, y de echo si hago la llamada a la pelicula donde de onRelease si me la carga, pero claro, echo asi no me hace el fadeOut.

Vuelvo a estas sin ideas, porque si lo situo en una parte si carga y si lo pongo en otra no?
Como puedo hacer para que se realize el fadeOut y despues de carge la pelicula en la ruta especificada?

aqui dejo el nuevo codigo por si sirve de ayuda:

Código :

var alfa:Number = 100;
function fadeOut () {
   if (alfa > 0) {
      alfa--;
      _parent._alpha = alfa;
      trace (_parent._alpha);
   }
   if (alfa <= 0) {
                return clearInterval (tiempo);
      _root.contenedor_mc._alpha = 100;
      _root.contenedor_mc.loadMovie ("principal.swf");
   }
}


this.botonera_mc.volver_btn.onRelease = function () {
   var tiempo:Number = setInterval (fadeOut ,10);
}

Por noctam

Claber

197 de clabLevel



 

firefox
Citar            
MensajeEscrito el 22 Oct 2008 02:27 am
bueno, me acaba de pasar el mismo error, y aunque creo que ya es demaciado tarde para contestar este post puede que a alguien le pase tambien, la respuesta esta en que debes de ejecutar un clearInterval antes del setInterval, sino nunca podras detener ese setInterval, aclaro, sule pasar asi, es mas como un "parche" al problema :evil:

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

msie7
Citar            
MensajeEscrito el 22 Oct 2008 04:34 am
De hecho no es un parche. Lo que ocurre es que si no "matas" el setInterval antes de crear otro, la variable que guarda el id del setInterval cambia, por lo que no vuelves a acceder a él.
noctam, sé que dices que te funciona, pero realmente dudo mucho que el "return" sea la respuesta. Estoy convencido que debes dejar recursos por ahí tirados.
En cualquier caso, para lo que estás haciendo, es mil veces mejor que uses Tween (en la versión que gustes).

Por The Fricky!

Presidente

6168 de clabLevel

3 tutoriales
8 articulos

Genero:Masculino   Bastard Operators From Hell Héroes

Piccola Venezia...

firefox
Citar            
MensajeEscrito el 24 Oct 2008 04:59 am
Eso es muy cierto, uno debe elminar el intervalo o se sobreescribe el id y nunca se podra borrar el intervalo anterior, pero a mi me paso que ejecuto el setInterval y luego en la funcion receptora, ejecuto el clearInterval, y eso todo, como una especie de retardo, pero el clearInterval no funciona, traceo el intervalId_nmb que es mi variable donde guardo el id de intervalo y antes del setInterval me da undefined, osea, no hay un intervalo previo ejecutado, y no sabia porque no me detenia la ejecucion del intervalo, pero cuando puse un clearInterval( intervalId_nmb ) antes del setInterval, ya lo pudo detener, es masomenos como un clearInterval( null ), ahora me explico porque digo que es como una especie de Parche? en realidad no creo que sea un "error" comun pero debe tener una explicacion logica. ;)

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

msie7
Citar            
MensajeEscrito el 24 Oct 2008 12:38 pm
Postea el código que te daba problemas y quizás le hallemos explicación.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.