Bonjour,
J'ai 3 contenus différents accessibles via 3 icones cliquables, et je cherche à appliquer un effet SlideDown quand un contenu apparaît et SlideUp quand il disparait (quand on clique sur un des autres liens) avant que le nouveau contenu apparaisse en SlideDown.
Voilà ce que j'ai fait :
le script :
le fichier html (simplifié) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 function multi_toggle(to_show){ $$('#content1', '#content2', '#content3').each( function(el) { if(el.style.display != 'none') { Effect.SlideUp(el, {queue:{ position: 'front', scope: 'menu', limit: 2 }}); } }); Effect.SlideDown(to_show, {queue:{ position: 'end', scope: 'menu', limit: 2 }}); }
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <div id="content1" style="display: none">...</div> <div id="content2" style="display: none">...</div> <div id="content3" style="display: none">...</div> <img onclick="multi_toggle('content1'); return false;" /> <img onclick="multi_toggle('content2'); return false;" /> <img onclick="multi_toggle('content2'); return false;" />
Cela fonctionne bien sauf si on clique sur une autre icone alors que l'animation précédente n'est pas finie. Ca plante un peu toute l'animation.
J'ai beau chercher je vois pas comment m'en sortir simplement.
Une idée ?
Merci pour vos réponses.
Partager