Quiero hacer una función genérica que "abra" ventanas emergentes. Uso comillas porque en realidad lo que hace es aumentar el alpha a 100 o disminuirlo a 0, sin abrirlas realmente.
La función que intento hacer es:
Código:
Las variables son:abreVentana = function (movie, ventana, alfaUP, alfaDOWN) { tagVentana = "pop"+ventana; pop = eval(tagVentana); movie.onRelease = function() { pop.onEnterFrame = function() { this._alpha += alfaUP; if (this._alpha>=100) { delete pop.onEnterFrame; } }; pop.onPress = function() { this.onEnterFrame = function() { this._alpha -= alfaDOWN; if (this._alpha<=0) { delete pop.onPress; delete this.onEnterFrame; } }; }; }; };
movie = boton (mc) que abre la ventana
ventana = numero de la ventana a abrir (en el escenario pop1, pop2)
alfaUP = velocidad de apertura (100 abre directamente, a medida que achicamos el numero aparece con un fade in).
Si lo uso para un solo boton y una sola ventana funciona perfecto, ahora, si repito la función para dos o tres botones ya no funciona.
Para corroborar errores agregué un trace(tagVentanas) y yo esperaba que si presiono el boton1 aparezca "pop1", el 2 "pop2" y asi.. pero resulta que siempre da "pop3" ya que apliqué la función a tres botones:
abreVentana(bt1, 1, 100, 100)
abreVentana(bt2, 2, 100, 100)
abreVentana(bt3, 3, 100, 100) <--------- el trace muestra siempre pop3
Espero no haberlos mareado... muchas gracias por su atención, desde ya.
Cordero
Antes de publicar el mensaje me di cuenta del error, por cierto bastante tonto.
Pero lo publico igual por si alguien quiere usar la funcion ;)
Código:
El error estaba en definir tagVentana y pop antes de apretar el boton :p abreVentana = function (movie, ventana, alfaUP, alfaDOWN) { movie.onRelease = function() { tagVentana = "pop"+ventana; pop = eval(tagVentana); pop.onEnterFrame = function() { this._alpha += alfaUP; if (this._alpha>=100) { delete pop.onEnterFrame; } }; pop.onPress = function() { this.onEnterFrame = function() { this._alpha -= alfaDOWN; if (this._alpha<=0) { delete pop.onPress; delete this.onEnterFrame; } }; }; }; };