Comunidad de diseño web y desarrollo en internet online

como hago esto.. (ejemplo de buen titulo)

Citar            
MensajeEscrito el 06 Dic 2007 12:13 am

Código :

      ZionGridFilter = {      
         toggle:function(name){
            for (var item in this.Objects) {
               if (name == item) {
                  item = (this.Objects.item == true)?false:true;
               }
            }
            
         },
         
         Objects: {
            image: true,
            article: true,
            document: true,
            button: true,
            html: true         
         }

      };


Hola, tengo el codigo anterior, lo que quiero es que la funcion toggle me cambie el valor del objeto que se envia, a toggle se le pasa como string y tiene que ser igual que uno de los objetos en Object.

Alguna forma de hacerlo? sin eval please..

Por neohunter

Claber

563 de clabLevel

1 tutorial

 

Bogota, Colombia

opera
Citar            
MensajeEscrito el 06 Dic 2007 02:16 pm
Mmmmm no se entiende muy bien lo q pusiste... pero veamos... quizas lo q necesites sea algo asi..

Código :

ZionGridFilter = {      
         toggle:function(name){
            
            for (var item in this.Objects) {
               if (name == item) {
                  this.Objects.item = !this.Objects.item;
                  return; //ponemos esto para q termine la funcion y no consuma mas recursos de los necesarios
               }
            }
            
         },
         
         Objects: {
            image: true,
            article: true,
            document: true,
            button: true,
            html: true         
         }

      };


Si no es eso... explica un pokito mejor lo q necesitas!



Saludos

Por 3w

145 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 06 Dic 2007 02:38 pm
lo que quiero es hacer esto:

Código :

ZionGridFilter.Objects.image = true;
ZionGridFilter.toggle("image");
alert(ZionGridFilter.Objects.image) //debe regresar false.


notese que a toggle se le pasa el nombre de la variable dentro del objeto objets como string...

Por neohunter

Claber

563 de clabLevel

1 tutorial

 

Bogota, Colombia

opera
Citar            
MensajeEscrito el 06 Dic 2007 02:51 pm
Bingo!

la funcion toggle es asi:

Código :

toggle:function(name){
   for (var item in this.Objects) {
      if (name == item) {
         this.Objects[item] = !this.Objects[item];
      }
   }
},


el codigo que me dio w3 no funciona porque item tiene el NOBRE de la variable dentro de objeto.

Por neohunter

Claber

563 de clabLevel

1 tutorial

 

Bogota, Colombia

opera
Citar            
MensajeEscrito el 06 Dic 2007 04:00 pm
ups... je... tenes razon neohunter :P no me habia dado cuenta... gracias x la correccion =)

Tmb recorda de poner un return cuando el if es verdadero... asi cortas la ejecucion y no sige haciendo validacione y consumiendo recursos... (si si.. lose.... es una tonteria.. pero a veces el rendimiento es fundamenta, mas cuando hay mucho js)


Saludos

Por 3w

145 de clabLevel



Genero:Masculino  

firefox

 

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