06/11/2009, 07:41
|
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 |