Foros del Web » Programando para Internet » Javascript »

como hago para asignarle una misma accion avarios botones con js ??

Estas en el tema de como hago para asignarle una misma accion avarios botones con js ?? en el foro de Javascript en Foros del Web. Tengo esto: Código: for(var i=0;i<3;i++){ var actual=document.getElementById(losBotones[i]); dTexto.innerHTML+=losBotones[i]; actual.onclick=function(){ document.imgSrc.src = misImagenes[losBotones[i]]; dTexto.innerHTML = texto[i]; } } El problema es q atodos los botones les ...
  #1 (permalink)  
Antiguo 11/06/2008, 19:05
 
Fecha de Ingreso: marzo-2007
Mensajes: 302
Antigüedad: 17 años, 1 mes
Puntos: 2
Pregunta como hago para asignarle una misma accion avarios botones con js ??

Tengo esto:

Código:
for(var i=0;i<3;i++){

var actual=document.getElementById(losBotones[i]);
dTexto.innerHTML+=losBotones[i];
	actual.onclick=function(){
		document.imgSrc.src = misImagenes[losBotones[i]];
		dTexto.innerHTML = texto[i];

	}

}
El problema es q atodos los botones les asgina el contenido de la ultima posicion, osea todos ya seana boton1, boton2 ..etc me muestran el texto[3]. Como hago para que cada uno me muestre el q le corresponde??
grx!!!

Última edición por usuaria; 11/06/2008 a las 19:41
  #2 (permalink)  
Antiguo 11/06/2008, 22:31
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: como hago para asignarle una misma accion avarios botones con js ??

Fijate así:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<
title></title>

</
head>

<
body>
<
div id="losBotones0" style=" width:100px; cursor:pointer">a</div>
<
div id="losBotones1" style=" width:100px; cursor:pointer">b</div>
<
div id="losBotones2" style=" width:100px; cursor:pointer">c</div>
<
img name="imgSrc" src="1.jpg" width="50"  />

<
div id="algo"></div>

<
script>
var 
losBotones=['losBotones0','losBotones1','losBotones2'];
var 
misImagenes=['1.jpg','2.jpg','3.jpg'];
var 
texto=['uno','dos','tres'];
var 
dTexto=document.getElementById('algo');
for(var 
i=0;i<3;i++){

var 
actual=document.getElementById(losBotones[i]);
dTexto.innerHTML+=losBotones[i]+'<br />';
(function(){
    var 
ii=i;
    
actual.onclick=function(){
        
document.imgSrc.src misImagenes[ii];
        
dTexto.innerHTML texto[ii];

    }
})();
}
</script>
</body>
</html> 
O así:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<
title></title>

</
head>

<
body>
<
div id="losBotones0" style=" width:100px; cursor:pointer">a</div>
<
div id="losBotones1" style=" width:100px; cursor:pointer">b</div>
<
div id="losBotones2" style=" width:100px; cursor:pointer">c</div>
<
img name="imgSrc" src="1.jpg" width="50"  />

<
div id="algo"></div>

<
script>
var 
losBotones=['losBotones0','losBotones1','losBotones2'];
var 
misImagenes=['1.jpg','2.jpg','3.jpg'];
var 
texto=['uno','dos','tres'];
var 
dTexto=document.getElementById('algo');
for(var 
i=0;i<3;i++){

var 
actual=document.getElementById(losBotones[i]);
dTexto.innerHTML+=losBotones[i]+'<br />';
    
actual.i=i
    actual
.onclick=function(){
        
document.imgSrc.src misImagenes[this.i];
        
dTexto.innerHTML texto[this.i];

    }
}
</script>
</body>
</html> 
Adicionalmente te recomiendo que leas esto:
http://blog.scriptia.net/articulos/2...esperados.html
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 15:21.