Menu vertical deroulant

dante20007 Messages postés 61 Date d'inscription mercredi 25 avril 2007 Statut Membre Dernière intervention 27 avril 2009 - 21 mai 2007 à 15:01
dante20007 Messages postés 61 Date d'inscription mercredi 25 avril 2007 Statut Membre Dernière intervention 27 avril 2009 - 24 mai 2007 à 16:20
bonjour je viens de voir sur ce site comment faire un menu vertical deroulant:
http://css.alsacreations.com/Construction-de-menus-en-CSS/Un-menu-deroulant-en-CSS-et-XHTML-vertical-et-horizontal

mais je voudrais que lorsque l'on reclic sur un menu deja ouvert qu'il se referme.comment faire??

merci

13 réponses

cs_ov3rdoze Messages postés 414 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 23 septembre 2014
22 mai 2007 à 10:48
Bonjour

Je vais prendre le premier exemple qu'ils donnent : Menu déroulant vertical

window.onload=montre;
function montre(id) {
var d = document.getElementById(id);
 for (var i = 1; i<=10; i++) {
  if (document.getElementById('smenu'+i)) {document.getElementById('smenu'+i).style.display='none';}
 }
if (d) {
if (d.style.display=='block') d.style.display==none;
else d.style.display=='block';
}
}
0
cs_ov3rdoze Messages postés 414 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 23 septembre 2014
22 mai 2007 à 10:49
Desolé, une erreur dans la partie en bleu :
if (d) {
if (d.style.display=='block') d.style.display=none;
else d.style.display='block';
}
0
dante20007 Messages postés 61 Date d'inscription mercredi 25 avril 2007 Statut Membre Dernière intervention 27 avril 2009
23 mai 2007 à 09:52
Je suis désolé mais ce que tu as ecris ne marche pas....Es tu sur de ce que tu as mis??
0
cs_ov3rdoze Messages postés 414 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 23 septembre 2014
23 mai 2007 à 13:40
En fait j'ai encore fais une erreur

if (d) {
if (d.style.display=='block') d.style.display='none';
else d.style.display='block';
}

Il manquait les ' autour du none...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dante20007 Messages postés 61 Date d'inscription mercredi 25 avril 2007 Statut Membre Dernière intervention 27 avril 2009
23 mai 2007 à 13:51
e.... ca ne marche toujours pas.....T'es sur de ton code?
0
cs_ov3rdoze Messages postés 414 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 23 septembre 2014
23 mai 2007 à 13:53
Ya pas une erreur javascript ou un truc qui pourrait aider plus que "ca marche pas"?
0
cs_ov3rdoze Messages postés 414 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 23 septembre 2014
23 mai 2007 à 14:08
Erreur d'algo, autant pour moi

function montre(id) {
var aff;
var d = document.getElementById(id);
if (d) if (d.style.display=='block') aff = 'none';
else aff = 'block';
for (var i = 1; i<=10; i++)
 if (document.getElementById('smenu'+i))
  document.getElementById('smenu'+i).style.display='none';
if (d) d.style.display = aff;
}
0
dante20007 Messages postés 61 Date d'inscription mercredi 25 avril 2007 Statut Membre Dernière intervention 27 avril 2009
23 mai 2007 à 16:47
Ouai!!! cool ca marche.Mais quand j'ouvre un menu, et puis ensuite un autre, le premier se referme, peut on corriger cela pour que chaque menu ne se referme qu'au clic??
merci d'avance.
0
cs_ov3rdoze Messages postés 414 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 23 septembre 2014
23 mai 2007 à 16:50
Essaye comme ça :

<script type="text/javascript">
<!--
for (var i = 1; i<=10; i++)
 if (document.getElementById('smenu'+i))
  document.getElementById('smenu'+i).style.display='none';

function montre(id) {
var aff;
var d = document.getElementById(id);
if (d) if (d.style.display=='block') aff = 'none';
else aff = 'block';
if (d) d.style.display = aff;
}
//-->
</script>
0
dante20007 Messages postés 61 Date d'inscription mercredi 25 avril 2007 Statut Membre Dernière intervention 27 avril 2009
23 mai 2007 à 18:18
ok merci, mais ca marche pas au premier clic mais au deuxieme clic qd on arrive pour la premiere fois sur la page.il faut 2 clics la premiere fois pour pouvoir fermer une fenetre.lol


merci
0
cs_ov3rdoze Messages postés 414 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 23 septembre 2014
24 mai 2007 à 15:30
J'ai pas compris...
0
cs_ov3rdoze Messages postés 414 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 23 septembre 2014
24 mai 2007 à 15:34
Si en fait j'ai compris

>

<script type="text/javascript">
<!--


function montre(id) {
var aff;
var d = document.getElementById(id);
if (d) if (d.style.display=='block') aff = 'none';
else aff = 'block';
if (d) d.style.display = aff;
}
//-->
</script>


<style type="text/css">

et
0
dante20007 Messages postés 61 Date d'inscription mercredi 25 avril 2007 Statut Membre Dernière intervention 27 avril 2009
24 mai 2007 à 16:20
trop bien merci!!!!
0
Rejoignez-nous