Foros del Web » Creando para Internet » Flash y Actionscript »

Mostrar / Ocultar elementos

Estas en el tema de Mostrar / Ocultar elementos en el foro de Flash y Actionscript en Foros del Web. Hola gente... como van? La verdad es que esta situación me supero y ya no se que hacer..! Resulta que tengo un formulario en flash ...
  #1 (permalink)  
Antiguo 08/10/2010, 00:56
 
Fecha de Ingreso: agosto-2010
Mensajes: 156
Antigüedad: 14 años, 3 meses
Puntos: 1
Exclamación Mostrar / Ocultar elementos

Hola gente... como van?

La verdad es que esta situación me supero y ya no se que hacer..!

Resulta que tengo un formulario en flash con checkbox, quiero que cuando selecciones uno me aparesca un elemento y cuando lo deseleccione ese elemento desaparesca...

Tengo el siguiente codigo:

Código PHP:
function escondeAuto() {
    for(var 
18i++) {
        
this["auto" i]._visible false;
    }

Con esa función "escondo" todos los elementos que se llamen auto1, auto2, auto3, etc...

El problema es cuando quiero q aparescan... tengo lo siguiente:

Código PHP:
function muestraAuto() {
    for(var 
18i++) {
    if (
this["check" i].selected) {
    
this["auto" i]._visible true;
        }
    }

Y la funcion la llamo:

Código PHP:
check1.onPress = function() {
    
muestraAuto();


El problema es que muestra el elemento cuando deselecciono el checkbox y no cuando lo selecciono.

Ademas no logro que se vuelva a ocultar...

Ojala me puedan ayudar porfavor! que ya no se que hacer.. ningun funcion me resulta..

Muchas Gracias por su tiempo señores.

Saludos
  #2 (permalink)  
Antiguo 08/10/2010, 07:13
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: Mostrar / Ocultar elementos

Hola
imagino haces los checkbox manualmente
hasta donde conozco eso es un hermoso bug de as2
cuando chequeas el selected es false y cuando le
quitas la selección pasa a true

esto siempre y cuando se use el nombre del check literalmente,
si usas esto this["check" + i].selected estará como undefined en algún punto

puedes hacer una de dos
0. en tus funciones, usar los nombres de los checks literalmente, no con this
y haciendo los values contrarios (cuando necesites true buscar false y viceversa)
1. cambiar el modo de la función de los botones (usando listeners) y los nombres de
los autos en un array, y tal vez mejorar tu función de mostrarAutos, así:

Código actionscript:
Ver original
  1. function escondeAuto() {
  2.     for(var i = 1; i < 8; i++) {
  3.         this["auto" + i]._visible = false;
  4.     }
  5. }  
  6.  
  7. var autos:Array = new Array(auto1,auto2,auto3,auto4,auto5);
  8. escondeAuto();
  9.  
  10.  
  11. var muestraAuto:Object = new Object();
  12. muestraAuto.click = function(e:Object){
  13.     var nombrecheck = String(e.target);
  14.     var id = nombrecheck.substr(nombrecheck.indexOf('k')+1,nombrecheck.length);
  15.        
  16.         if (e.target.selected)
  17.         {  
  18.             autos[id-1]._visible = true;
  19.         }
  20.         else
  21.         {
  22.             autos[id-1]._visible = false;
  23.         }    
  24. }
  25.  
  26. for(var i = 1; i < 8; i++) {
  27.     this['check'+i].addEventListener('click',muestraAuto);
  28. }

Si hicieras esto para asignar valores al array autos

Código actionscript:
Ver original
  1. var autos:Array = new Array();
  2. for(var i = 1; i < 8; i++) {
  3.     autos[i] = 'auto'+i;
  4. }

la función dejaría de funcionar correctamente,
imagino más bugs de as2, pues por ej si hago esto

Código actionscript:
Ver original
  1. for(var i = 1; i < 8; i++) {
  2.     this["check"+i].visible = false;
  3. }

al arrancar el swf lo hace bien, pero si lo pusiera dentro de la función de clic
no lo hace

en fin, espero te sirva
saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com

Última edición por mortiprogramador; 08/10/2010 a las 07:25 Razón: add_comment
  #3 (permalink)  
Antiguo 08/10/2010, 13:19
 
Fecha de Ingreso: agosto-2010
Mensajes: 156
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: Mostrar / Ocultar elementos

Gracias por tu respuesta nuevamente!

mira te muestro como lo hice al final:

Código PHP:
on (press) {
    if  (
check1.selected == false)
    (
check1.selected true) (mostrar1._visible true)
    else (
check1.selected == true)
    (
check1.selected false) (mostrar1._visible false)

Segui tu consejo de poner el nombre original del checkbox y luego cree un boton que al presionarlo selecciona el checkbox y muestra otro elemento.. y al volver apretarlo deselecciona el checkbox y oculta el otro elementos.

Gracias por la ayuda.

Saludos

Etiquetas: elementos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:05.