Ver Mensaje Individual
  #9 (permalink)  
Antiguo 18/11/2008, 08:44
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Duda simple sobre variables

WOa, perdona. Debía de estar dormido. Ignora lo de arriba. Una solución es esto:

Código javascript:
Ver original
  1. for (x=1;x<lis.length+1;x++){
  2.           button[x] = $('button'+x);
  3.           content[x] = $('contentElement'+x);
  4.           Toggle[x] = new Fx.Style('contentElement'+x, 'height',{duration: 500});
  5.        
  6.           button[x].addEvent('click', (function(a){
  7.               return function() {
  8.                   if(content[a].getStyle('height').toInt() > 0){
  9.                       Toggle[a].start(0);
  10.                   }else{
  11.                       Toggle[a].start(c1Height);
  12.                   }
  13.                   return false;
  14.               }
  15.           })(x));
  16.       }


Si lo prefieres, para que quede más fácil de entender. La solución puede quedar:

Código javascript:
Ver original
  1. function creaGestorEvento(a){
  2.     return function() {
  3.         if(content[a].getStyle('height').toInt() > 0){
  4.             Toggle[a].start(0);
  5.         }else{
  6.             Toggle[a].start(c1Height);
  7.         }
  8.         return false;
  9.     }
  10. }
  11. for (x=1;x<lis.length+1;x++){
  12.     button[x] = $('button'+x);
  13.     content[x] = $('contentElement'+x);
  14.     Toggle[x] = new Fx.Style('contentElement'+x, 'height',{duration: 500});
  15.     button[x].addEvent('click', creaGestorEvento(x));
  16. }