Ver Mensaje Individual
  #2 (permalink)  
Antiguo 06/11/2009, 07:41
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses
Puntos: 574
Respuesta: ¿Porque me hace un bucle infinito?

Analicemos:

function accionBuscador(nombrecapa){<---nivel1_1
var nombrecapa = "#" + nombrecapa;<---#nivel1_1

Primer comentario, yo siempre evito sobrecargar los nombres, tienes un parametro y una variable con el mismo nombre.

var niveles = nombrecapa.split("_");

The split() method is used to split a string into an array of substrings, and returns the new array.
Luego en "niveles" tenemos un array con (#nivel1,1) y por tanto length=2


//Expandimos o contraemos los los divs <--- "los" o "el" div

$(niveles[0]).slideToggle("slow"); <---- $ is not defined...(sin jquery)

Aquí no se que decirte $().slideToggle("slow") és jquery no? en cualquier caso niveles[0]='#nivel1'

//Si es de segundo nivel o superior
if(niveles.length>1){ <-- true ya que length=2
for(i=1;i<niveles.length;i++){ <--- des de i=1; mientras i<2 !!!! Una sola vuelta
alert("Nombre Capa: " + nombrecapa + "\nNivel: " + niveles + "\nNiveles: " + niveles.length + "\ni: " + i);
<--- nombrecapa="#nivel1_1"
<----niveles és un array!!! = (#nivel1,1)
<----niveles.length=2
<----i=1

}
}

Resultado

Nombre Capa: #nivel1_1
Nivel: #nivel1,1
Niveles: 2
i: 1


Nada de bucle infinito. Nada raro. Totalmente previsible, no?

No entiendo que pretendes hacer por lo que no te puedo ayudar mas...

Quim

Última edición por quimfv; 06/11/2009 a las 07:47