Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/11/2007, 13:53
cordero
 
Fecha de Ingreso: octubre-2007
Mensajes: 9
Antigüedad: 16 años, 5 meses
Puntos: 0
Función para "abrir" ventanas emergentes

Hola! ¿cómo estan?

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:
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;
				}
			};
		};
	};
};
Las variables son:

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:
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;
				}
			};
		};
	};
};
El error estaba en definir tagVentana y pop antes de apretar el boton :p