Comunidad de diseño web y desarrollo en internet online

Alguien sabe si esto es posible?

Citar            
MensajeEscrito el 10 Mar 2005 09:12 am
Bufff :shock:

A ver, q no se ni x donde empezar... He creado una especie de catalogo de articulos (semejante a una galería), en la q según la familia de articulos en la q se haga click, carga una serie de mini imagenes (el número cambia según la familia), con su texto, y si haces click en una de estas mini imagenes, se amplia al lado, con su texto descriptivo.

Para la generación de las mini imagenes, sus botones y su texto, he creado un bucle q va desde 1 hasta el nº de articulos y q crea en tiempo de ejecución las imagenes y todo lo demás.

Tb crea dentro de este bucle el evento para cada botón y es aqui donde tengo la duda...¿esto se puede hacer?parece q funciona, xo tengo un problema a la hora de pasar el valor de alguna variable, desde el clip mini al grande (concretamente el texto).

El código q hace todo esto es:

Código :


for(i=1; i<numart; i++) {
  minifoto(i,articulo+i);
  posy=posy+80;
  depth=depth+3;
  
}

function minifoto(ninstancia, nombrefoto) {
   
   this.attachMovie("boton","boton"+ninstancia,depth);
   this.attachMovie("clipfoto","clipfoto"+ninstancia,depth+1);
   this["clipfoto"+ninstancia].miniconten1.loadMovie("images/mini/"+articulo+"/"+nombrefoto+".jpg");
   this.createTextField("cuadrotexto"+i,depth+2,50,posy-20,100,80);
   this["cuadrotexto"+i].text = this["texto"+i];
   
   
   this["cuadrotexto"+i].embedFonts = true;
   this["cuadrotexto"+i].wordWrap = true;
   this["cuadrotexto"+i].multiline = true;
   this["cuadrotexto"+i].setTextFormat( mifor);
      
   this["boton"+ninstancia]._y=posy;
   this["clipfoto"+ninstancia]._y=posy;
   
   this["boton"+i].onPress = function () {
   articulodir=articulo;
   articulofoto=nombrefoto;
   textogran=this["texto"+i];
   
   cargaarticulo();
}
   
   
}


function cargaarticulo() {
   createEmptyMovieClip("contenedor", _root.getNextHighestDepth());
   contenedor._x = 148;
   contenedor._y = -165;
   loadMovie("articulo.swf", contenedor);
}


Tanto "articulodir" como "articulofoto" pasan correctamente, pero "textogran" aparece como "undefined", si lo pongo fuera del evento, directamente en la funcion "minifoto" logicamente pasa, pero pasa siempre con el ultimo valor q toma (logico).

Yo le veo sentido a todo...pero en q estoy metiendo la pata???? :oops: :crap:

Por Raditz

51 de clabLevel



Genero:Masculino  

Todas partes

msie
Citar            
MensajeEscrito el 10 Mar 2005 10:52 am
Mmm... creo que el problema es la ruta donde esta this["texto"+i]

Si tu dentro del evento onPress estás poniendo this["texto"+i] estás diciendo que dentro de ["boton"+i] hay una variable llamada ["texto"+i], y eso es incorrecto, porque ["texto"+i] está fuera de ese botón.

Prueba poniendo un _parent en vez de this, o algo por el estilo, la clave ha de estar por ahi me parece.

Deu!! ^^

Por Elecash

Claber

8126 de clabLevel

37 tutoriales
19 articulos
13 ejemplos

  Bastard Operators From Hell Desarrollador de GAIA Premio_Secretos Héroes

BarnaCity

clabbrowser
Citar            
MensajeEscrito el 10 Mar 2005 11:10 am
Voy a probar...pero lo curioso es q entonces si q funcione con las otras 2 variables, no te parece? :?

Por Raditz

51 de clabLevel



Genero:Masculino  

Todas partes

msie
Citar            
MensajeEscrito el 10 Mar 2005 11:15 am
Por cierto... como se expresa correctamente eso q me comentas????

textogran=_parent.this["texto"+i];

da un error de compilación "Se espera un nombre de campo después del operador '.'" :cry:

Por Raditz

51 de clabLevel



Genero:Masculino  

Todas partes

msie
Citar            
MensajeEscrito el 10 Mar 2005 11:18 am
me contesto yo solo :)

textogran=this["_parent.texto"+i];


Aunq me sigue sin funcionar lo del textooooooo :crap:

Por Raditz

51 de clabLevel



Genero:Masculino  

Todas partes

msie
Citar            
MensajeEscrito el 10 Mar 2005 12:03 pm
He probado esto tb, pero sigue sin funcionar...no lo entiendo :cry:

Código :


function minifoto(ninstancia, nombrefoto) {
   
   this.attachMovie("boton","boton"+ninstancia,depth);
   this.attachMovie("clipfoto","clipfoto"+ninstancia,depth+1);
   this["clipfoto"+ninstancia].miniconten1.loadMovie("images/mini/"+articulo+"/"+nombrefoto+".jpg");
   this.createTextField("cuadrotexto"+i,depth+2,50,posy-20,100,80);
   this["cuadrotexto"+i].text = this["texto"+i];
      
   this["cuadrotexto"+i].embedFonts = true;
   this["cuadrotexto"+i].wordWrap = true;
   this["cuadrotexto"+i].multiline = true;
   this["cuadrotexto"+i].setTextFormat( mifor);
      
   this["boton"+ninstancia]._y=posy;
   this["clipfoto"+ninstancia]._y=posy;

         ///////////////ESTO ES LO AÑADIDO//////////////////

   this["boton"+ninstancia].textogran=this["texto"+i];

         ///////////////ESTO ES LO AÑADIDO//////////////////

   
   this["boton"+i].onPress = function () {
   trace(textogran);
   articulodir=articulo;
   articulofoto=nombrefoto;
      
   cargaarticulo();
}


Pero tampoco funciona!!!!! aparentemente se trata del mismo objeto, pero alguna diferencia deben de tener q no toma el valor :?

Por Raditz

51 de clabLevel



Genero:Masculino  

Todas partes

msie

 

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