estoy haciendo mi primer trabajo con jQuery. Es una web con 4 secciones y un menú superior con los 6 apartados. Cuando haces click en "1" se despliega la sección correspondiente y así con las 6 opciones.
Ahora bien, tengo un problema. Si has visitado la primera vez la sección "2" y haces click en el menú en "4", quiero que "2" se pliegue automáticamente y se despliegue "4".
Para no complicarme mucho, he pensado que lo mejor era hacer un each() de todos los elementos y plegarlos antes de desplegar el siguiente. Es decir, cuando haces click en cualquier opción del menú, hago un each() de todas las secciones y las pliego, desde la "1" a la "6". Y luego despliego la del click (la"4" siguiendo el ejemplo de antes).
El problema, si uso esta opción, es que el pliegue se ejcuta más lento que el despliegue, y siempre acaban cerrándose todas las secciones:
Código HTML:
temp = this.id; if($(this).hasClass('clicked')){ $("#menu > img").each(function (){ pliega("#"+this.id); }); despliega("#"+temp);
Código HTML:
//Cuando estamos en el último elemento... if (i == 6){ despliega("#"+temp); }
Me gustaría saber si es posible ejecutar un evento cuando termine el each(), en orden y sin adelantarse a la finalización del último elemento.
¿Alguna idea? ¡Gracias!