|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité régulier
![]() Inscription : juin 2008 Messages : 42 ![]() |
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 : Code :
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 ? |
||
|
|
00
|
|
|
#2 | ||
![]() ![]() |
Bonjour,
Je ne vois pas de problème sur ton code si ce n'est que Blind devrait être écrit sans la majuscule (blind) On peut voir ton HTML ? EDIT: rien à voir avec ton problème, mais ton code peut aussi s'écrire : Code :
__________________
on ne dit pas "ça ne marche pas" on dit "je suis incapable de faire fonctionner correctement les outils mis à ma disposition" Pas de question technique par MP |
||
|
|
00
|
|
|
#3 |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 789 ![]() |
"element" est déjà une propriété de l'objet Event, l'utiliser comme nom de variable est assez maladroit et déconseillé.
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
|
00
|
|
|
#4 | ||
|
Invité régulier
![]() Inscription : juin 2008 Messages : 42 ![]() |
Mon HTML est tout ce qu'il y a de plus basique :
Code :
Il est donc très possible que j'écrive pas mal d'erreurs |
||
|
|
00
|
|
|
#5 |
![]() ![]() |
Mais dans ton exemple, tes deux elements sont visibles du debut, donc lors du premier click, tu vas masquer les deux...
__________________
on ne dit pas "ça ne marche pas" on dit "je suis incapable de faire fonctionner correctement les outils mis à ma disposition" Pas de question technique par MP |
|
|
00
|
|
|
#6 | ||
|
Invité régulier
![]() Inscription : juin 2008 Messages : 42 ![]() |
Non du tout. En fait, le script toggle est stocké dans une fonction. Voila comment tout se déroule :
Code :
EDIT: Par contre, à l'origine la fonction toggle de scriptacoulous s'execute avec l'id de l'élement, hors je l'utilise ici en utilisant le nom de la classe de l'élement, donc je ne sais pas si ca peut agir sur le fonctionnement de la fonction toggle. |
||
|
|
00
|
|
|
#7 | |||
![]() ![]() |
Citation:
Peux tu essayer sans les effets : Code :
__________________
on ne dit pas "ça ne marche pas" on dit "je suis incapable de faire fonctionner correctement les outils mis à ma disposition" Pas de question technique par MP |
|||
|
|
00
|
|
|
#8 |
|
Invité régulier
![]() Inscription : juin 2008 Messages : 42 ![]() |
Avec la fonction element.toggle() ca fonctionne.
EDIT: Mais je souhaite utilisé cependant l'effet slide de scriptaculous et donc, Effect.toggle('slide') ou Effect.toggle('blind'). Le problème reste qu'il ne veut pas effectuer plusieurs toggle lors d'un même click... |
|
|
00
|
|
|
#9 | ||
![]() ![]() |
Et bien il fallait aller au fond de la cave pour voir le souci:
Par défaut, le Effect.toggle limite la pile d'effets à 1 élément. Du coup seul un des deux était pris. La solution consiste donc à préciser une option queue sans limite, mais avec un scope... Code :
__________________
on ne dit pas "ça ne marche pas" on dit "je suis incapable de faire fonctionner correctement les outils mis à ma disposition" Pas de question technique par MP |
||
|
|
00
|
|
|
#10 |
|
Invité régulier
![]() Inscription : juin 2008 Messages : 42 ![]() |
Et bien écoute, à force de persévérance, on a enfin pu trouver la solution et ca marche je viens de tester
Donc je vous remercie encore pour le temps que vous avez passé à m'aider à résoudre mon problème. Nelieru |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com