Comunidad de diseño web y desarrollo en internet online

Funcion y variable "i"

Citar            
MensajeEscrito el 18 Abr 2008 07:16 am

Código :

<textarea>
for (i=1;i<contador;i++)
   {
(...)
al_clicar.click = function() {  
                           trace(i);   /// <------
     };   
                       
this["boton"+i].addEventListener("click", al_clicar)

(...)
}
</textarea>

Este es mi codigo, es simple. Lo que hace es pintar unos botones y cuando hago click simplemente me sale el valor de i. Los botones y el "click" funcionan perfectamente. El problema está que el valor de i, al estar dentro de una funcion solo me casa el último para todos los botones.

Es decir: boton 1; i= 5
boton 2; i =5
boton 3; i = 5;

el ultimo valor de la i siempre toma.


¿Alguien sabe porque?

Por rubesk

10 de clabLevel



 

msie
Citar            
MensajeEscrito el 18 Abr 2008 07:48 am
Porque i al final vale 5, y tu haces el click siempre despues de haber asignado todo. Lo que podrías hacer es comprobar el nombre del boton y al nombre quitarle la palabra "boton", el resto es el numero que tu quieres.

Por One

Claber

1488 de clabLevel

5 tutoriales

Genero:Masculino  

Programador Web

firefox
Citar            
MensajeEscrito el 18 Abr 2008 07:54 am
creo que no me enterado muy bien de lo que me has dicho, pero si no estoy mal lo que propones es que al boton le llame i, osea 1,2,3,4,5,6.....

Lo que pasa es que lo que quiero es que dentro de los botones saque la variable i, realmente no me interesa eso, en realidad es para despues ponerle el valor de una variable.

En realidad son imagenes sacadas de una base de datos cargadas en un Loader y encima de ellas un boton transparente; lo que quiero es que al pulsar el boton transparente abra una pagina donde encontremos la foto en grande pero de eso ya me ocuparé.

Pero necesito eso que cada vez que pulse un boton, valga distinto a otro.

Por rubesk

10 de clabLevel



 

msie
Citar            
MensajeEscrito el 18 Abr 2008 08:48 am
Deberías crearte una clase "Boton" que extendiese de simpleButton, y ahi crearte una serie de variables internas donde guardar y recuperar la info que quieras para cada botón.
Otra forma rápida es si tienes los nombre de los botones con una numeración correlativa (boton1, boton2, etc..), en la funcion que ejecutan recuperar ese numero a partir del nombre del target y buscar el valor en la posición correspondiente dentro de un Array.

Por Zguillez

BOFH

10744 de clabLevel

85 tutoriales
17 articulos
3 ejemplos

Genero:Masculino   Bastard Operators From Hell Héroes Team Cristalab Editores

BCN

safari
Citar            
MensajeEscrito el 18 Abr 2008 09:02 am
me ha gustado la segunda opción, pienso que puede funcionar pero ¿como es exactamente la sintaxis del target?, la verdad que, aunque parezca basico, no lo he tenido que usar nunca


gracias.

Por rubesk

10 de clabLevel



 

msie
Citar            
MensajeEscrito el 18 Abr 2008 08:48 pm

rubesk escribió:

me ha gustado la segunda opción, pienso que puede funcionar pero ¿como es exactamente la sintaxis del target?, la verdad que, aunque parezca basico, no lo he tenido que usar nunca
gracias.

Escribí un tip sobre eso. Espero te sea de ayuda ;)

Por Zguillez

BOFH

10744 de clabLevel

85 tutoriales
17 articulos
3 ejemplos

Genero:Masculino   Bastard Operators From Hell Héroes Team Cristalab Editores

BCN

clabbrowser

 

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