Bonjour à toute la communauté,
Mon souci aujourd'hui concerne la réalisation d'un effet toggle sur des éléments. Pour vous situer un peu, j'ai 2 div formant un menu, et je souhaite effectuer un effet de toggle sur les deux div (l'une par défaut étant plié (donc un toggle déjà fait) et l'autre étant déplié), donc lorsque j'ouvre une des div, l'autre se ferme.
En jQuery, rien de plus simple, suffit d'un petit element.slideToggle() et tout baigne.
Cependant, ayant des contraintes précises je dois utiliser Scriptaculous et Prototype. Voici le script actuel que j'ai réalisé, celui-ci s'exécute lors du click sur un bouton :
Le défaut de ce code est son exécution, en effet lorsque je clique sur le bouton en question, il ne m'effectue qu'une exécution par click, c'est à dire que le premier click effectue un toggle sur la première div, et un second click permet d'effectuer le toggle sur l'autre DIV.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 // Evènement lors d'un clique sur le bouton $$('.block-menu-button').each(function(element) { element.observe('click', function() { // Boucle sur les 2 DIV $$('.block-menu-haut','.block-menu-bas').each(function(element) { Effect.toggle(element,'Blind'); }); }); });
Logiquement vu que je boucle sur les 2 éléments, le toggle est censé se faire sur les 2 DIV dans le même click ?
Partager