tengo un sistema donde tengo un acordeon como menu, el caso es que dentro de cada panel o canvas del acordeon tengo links y tengo una imagen para cada link en visible false la idea es que al hacer click a un link yo pueda cambiarle el estilo y mostrar la imagen correspondiente al link. cabe mencionar que solo se puede mostrar una imagen a la vez. y solo un link tiene el cambio de estilo de tal forma que si hago click en otro link desaparece el anterio y aparece la nueva imagen con el estilo en pocas palabras limpia los elemnto y asigna los valores visible a la imagen correspondiente.
el problema surge cuando quiero ocultar la imagen. tengo mi acordeon y le hago un getChildren esto me devuelve un arreglo con los canvas a cada canvas le meto un getChildren para sacar sus elemento y aqui es donde tengo que ver si el elemento es imagen o no.
dejo el codigo del canvas y el de la funcion que hace el cambio
canvas
Código :
<mx:Canvas label="Hoteles" id="hotel" width="100%" height="100%" creationComplete="cargaP();" > <mx:LinkButton label="Hoteles" left="10" top="10" id="hotelesLink" click="cambioModulo2(cargadorModulos,'hoteles.swf',hotelesLink,hotelesFlecha);"/> <mx:Image source="css/imagenes/flecha.png" top="15" right="10" id="hotelesFlecha" visible="false"/> <mx:LinkButton label="Planes de Alojamiento" left="10" top="38" click="cambioModulo2(cargadorModulos,'alojamiento.swf',alojamientoLink,alojamientoFlecha);" id="alojamientoLink"/> <mx:Image source="css/imagenes/flecha.png" top="42.65" right="10" id="alojamientoFlecha" visible="false"/> <mx:LinkButton label="Categorias Hotel" top="66" left="10" click="cambioModulo2(cargadorModulos,'cathotel.swf',categoriasLink,categoriasFlecha);" id="categoriasLink"/> <mx:Image source="css/imagenes/flecha.png" top="70" right="10" id="categoriasFlecha" visible="false"/> <mx:LinkButton label="Servicios e Instalaciones" left="10" top="132" click="cambioModulo2(cargadorModulos,'Ser_e_Ins.swf',serviciosLink,catalogoFlecha);" id="serviciosLink"/> <mx:Image source="css/imagenes/flecha.png" right="10" top="104" id="catalogoFlecha" visible="false"/> <mx:LinkButton label="Tipos de Promociones" left="10" top="165" click="cambioModulo2(cargadorModulos,'promociones.swf',promoLink,promocionesFlecha);" id="promoLink"/> <mx:Image source="css/imagenes/flecha.png" right="10" top="170.35000000000002" id="promocionesFlecha" visible="false"/> <mx:LinkButton label="Catalogo Intereses" top="99" left="10" id="interesesLink" click="cambioModulo2(cargadorModulos,'intereses.swf',interesesLink,serviciosFlecha);"/> <mx:Image source="css/imagenes/flecha.png" top="136.65" right="10" id="serviciosFlecha" visible="false"/> </mx:Canvas>
funcion
Código ActionScript :
private function cambioBotonL(boton:LinkButton,image:Image):void { //Alert.show("Esta aqui") var elementos:Array = menu.getChildren(); //var E:LinkButton = new LinkButton(); for(var i:Number = 0; i<elementos.length; i++) { var link:Array = new Array(); link=elementos[i].getChildren(); for(var j:Number=0; j<link.length; j++) { //Aqui validar si el elemto en la posiscion es una imagen o un link Alert.show("El elemento es imagen ."+link[j].id); //link[j].visible=false; link[j].styleName=""; } } boton.styleName="linkB"; image.visible=true; }
gracias por la ayuda