por mi gramática javascripteriana se notará que soy bastante novato usando jQuery. Quisiera preguntar si hubiera alguna forma de simplicar éste código:
Código javascript:
Ver original
$(document).ready(function (){ $("#slider1 h3").click(function (){ $("#slider2 div").slideUp("250"); }); $("#s1").click(function (){ $("#g1").slideDown("500"); }); $("#s2").click(function (){ $("#g2").slideDown("500"); }); $("#s3").click(function (){ $("#g3").slideDown("500"); }); $("#s4").click(function (){ $("#g4").slideDown("500"); }); $("#s5").click(function (){ $("#g5").slideDown("500"); }); $("#s6").click(function (){ $("#g6").slideDown("500"); }); $("#s7").click(function (){ $("#g7").slideDown("500"); }); });
Lo que hace resumidamente, es una especie de accordion pero, los elementos que hacen de título (enlace para hacer aparecer/desaparecer un bloque) no están seguidos de su correspondiente bloque (como es el caso del accordion <h3></h3><div></div><h3></h3><div></div> etc..) y así pues me vi obligado a ponerle un ID a cada elemento (#sX es el título y #gX el bloque del contenido).
Tampoco sé muy bien el uso de variables y el "this" en javascript, que igual por ahí algo pudiera hacerse. Igual me equivoco, vaya, que tiendo a ello de vez en cuando.
No sé si se pudiera prescindir de poner un ID a cada elemento, que sería lo ideal pienso.
Bueno, cualquier ayuda la agradezco.
Saludos.