Foros del Web » Programando para Internet » Javascript »

Problema Bucle For

Estas en el tema de Problema Bucle For en el foro de Javascript en Foros del Web. Hola a todos, Tengo esta función en JavaScript : Cita: constMaxItem=3; function fnDispThis(active) { for (i=1; i < constMaxItem+1; i++) { alert ("I: "+i); if ...
  #1 (permalink)  
Antiguo 03/06/2007, 17:59
 
Fecha de Ingreso: febrero-2007
Mensajes: 244
Antigüedad: 17 años, 10 meses
Puntos: 0
Problema Bucle For

Hola a todos,

Tengo esta función en JavaScript:
Cita:
constMaxItem=3;

function fnDispThis(active)
{

for (i=1; i < constMaxItem+1; i++)
{
alert ("I: "+i);
if (i!=active)
{
document.all("sub"+i).style.display="NONE"
}
else
{
document.all("sub"+active).style.display="BLOCK"
}
}
}
Sólo me entra la primera vez, cuando ejecuta cualquier rama del if, sale del for.

A la función la llamo así:

Código:
onclick="fnDispThis(1)"
  #2 (permalink)  
Antiguo 04/06/2007, 01:43
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 23 años
Puntos: 61
Re: Problema Bucle For


A mí, con estos cambios me funciona bien:

Código PHP:
<html>
<
head>
<
style>
.
subes{
display:none;
border:solid 1px silver;
padding:5px;
width:200px;
font:normal 12px/15px verdana;
margin:5px;
}

</
style>
<
script>
constMaxItem=3;

function 
fnDispThis(active)
{

for (
i=1<= constMaxItemi++)
{

document.getElementById("sub"+i).style.display=(i!=active)?"NONE":"BLOCK"
}
}
</script>
    
</head>

<body>
<a href="#" onclick="fnDispThis(1);return false">Mostrar el 1</a><br />

<div class="subes" id="sub1" >¡Hola! Esto es el 1.</div>


<a href="#" onclick="fnDispThis(2);return false">Mostrar el 2</a><br />
<div class="subes" id="sub2">A Pepe siempre le gustó el 2.</div>


<a href="#" onclick="fnDispThis(3);return false">Mostrar el 3</a><br />
<div class="subes" id="sub3">Nunca hay 2 sin 3.</div>


</body>
</html> 
Mira a ver si tienes alguna variable en otro sitio que también sea i.

Un saludo!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #3 (permalink)  
Antiguo 04/06/2007, 04:48
 
Fecha de Ingreso: febrero-2007
Mensajes: 244
Antigüedad: 17 años, 10 meses
Puntos: 0
Re: Problema Bucle For

Hola KarlanKas,

Muchísimas gracias, con esta línea de código:

Cita:
document.getElementById("sub"+i).style.display=(i! =active)?"NONE":"BLOCK"
sí que me funciona... así que genial !
  #4 (permalink)  
Antiguo 04/06/2007, 04:51
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 23 años
Puntos: 61
Re: Problema Bucle For

Estupendo!

Cualquier otro problema ya sabes dónde consultarlo.
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
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 18:36.