Comunidad de diseño web y desarrollo en internet online

menu tipo acordeon con un bucle!!! me falta recorrer los Mc

Citar            
MensajeEscrito el 24 Nov 2008 10:30 pm
HOLA A TODOS.

Tengo un pequeño detalle, que me ha traido dando vueltas la cabeza, espero y alguien pudiera darme una pequeña orientación, hacia donde seguir buscando.

Resulta que quiero hacer un menu desplegable (tipo el componente acordeon), pero hasta ahora tengo acomodados 25 MC's uno sobre otro, con una separación en _y de 28 px. con el nombre de instancia tec01,tec02,tec03..... etc.
hasta ahora lo que he logrado, que para lo que se de AS ya es un avance jeje, es que con un bucle se cual estoy presionando.

Código :

for(i=0; i<26; i++){
    this["tec0"+i].onRelease = function(evt){
      trace(this._name);
      
      }
   }

pero lo que quisiera es que al presionar un elemento, por ejemplo, "tec01" los demás, de tec02 hasta el ultimo, se recorran al tec01._height; Asi, para cualquier elemento que se seleccione. y al presionar nuevamente, todos se regrese a la posicion inicial.

Alguna idea????

De antemano muchas gracias.
y Saludos.

Por crokis

34 de clabLevel



 

safari
Citar            
MensajeEscrito el 25 Nov 2008 12:09 am

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla
Citar            
MensajeEscrito el 25 Nov 2008 05:33 pm
Hola Ironeric23, muchas gracias por el link, pero ese ejemplo es para mc, que son de igual tamaño porque el que estoy haciendo son diferentes... y no funciona asi.
De cualquier manera, estoy analizando el código para ver si logro modificarlo correctamente....

Sin embargo, si alguien pudiera orientarme se lo agradecería.

Saludos!

Por crokis

34 de clabLevel



 

safari
Citar            
MensajeEscrito el 29 Nov 2008 09:10 am
Saludos a la gente de CristaLab.

Debido a la solicitud de algunos de ustedes es que decidí publicar una solución al menú que menciona Crockis.

Aquí está el nuevo documento, recién salido del horno: http://sargentoweb.com/flash/?doc=46

Advertencia: no es para principiantes.


Sargento
http://sargentoweb.com

Por Sargento

14 de clabLevel



 

Guadalajara, México

firefox
Citar            
MensajeEscrito el 29 Nov 2008 05:02 pm
Espero que esto te sirva, no se que es lo que quieras hacer pero esto es lo que me imagino grossomodo, cuentame si ta ha funcionado.

Código :

for( var i:Number = 0; i < 26 ; i++ )
{
     this["tec0"+i].index = i;
     this["tec0"+i].onRelease = function(evt)
     {
          this._parent.expandir( this );
     };
}

function expandir( target:MovieClip ):Void
{
     target.swapDepths( this.getNexthHighestDepth() );
     //target._y = 0;
     for( var i:Number = 0; i < 26 ; i++ )
     {
         var aux:MovieClip = this["tec0"+i];
         if( aux != target )
         {
              //Mover los movieClips
              aux._y = target._y + target._hieght + (28 * ( i < target.index )? i : i - 1 );
         }
     };
}


Esto hace lo que pediste, supongo.

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

msie7
Citar            
MensajeEscrito el 29 Nov 2008 05:07 pm
escribi mal getNextHighestDepth, pero lo puedes poner comentado, solo envia el clip seleccionado al frente de todos, otra cosa, por ejemplo si quieres volver a posicionar todos los clip puedes usar algo asi: this.expandir({index:26});

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

msie7

 

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