| | hicham | Posté le 17/01/2007 @ 02:53 | Petit astucien
108 Messages
| Bonjour,J’ai besoin d’un menu dont l’entête est un bouton de façon que le clic sur ce bouton, le menu s’ouvre (faisant apparaître alors les différentes rubriques du menu).Sans bien connaître bien le java, j’ai pu adapter un menu avec de multiples sous menu à la forme que je voulais.Toute fois, il y a un problème : à l’ouverture de la page web, le menu s’affiche ouvert (entête et rubriques visibles). Y a t-il quelqu’un qui pourrait rectifier encore ce script pour qu’à l’ouverture de la page web le menu soit fermé (seul le bouton de l’entête soit affiché) et qu’il s’ouvre après un clic sur le bouton de l’entête.Je crois comprendre qu’il suffit d’insérer une fonction cache ou insérer le mot hiddenCi après le code, tout en vous remerciant d’avance<html> <head> <title>Menu glissant avec sous-menus</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta name="Keywords" content="Conception,Javascript,DHTML,CSS,texte,changement,style,display,menu,sous-menu,glissant"> <link rel="STYLESHEET" type="text/css" href="#"> <link rel="STYLESHEET" type="text/css" media="all" href="#"> <script language="javascript"> var sousmenu=new Array()/* fonctions pour retirer ou montrer un bloc */ function retire() { //le nombre d'arguments est variable var id=null; var element_style=null for(i=0;i<arguments.length;i++) { element_style=null; id=arguments[i]; if (document.getElementById) { element_style=document.getElementById(id).style; } else if (document.all) { element_style=document.all[id].style; } if(element_style) element_style.display="none" } } function montre(id) { var element_style=null if (document.getElementById) { element_style=document.getElementById(id).style; } else if (document.all) { element_style=document.all[id].style; } if(element_style) element_style.display="block" } /* Affichage du sous-menu 'id' */ function affiche(id) { /* Si on a reclique la derniere entree, on replie le sous-menu correspondant*/ if (id == sousmenu[sousmenu.length-1]) { retire(id); sousmenu.length --; return; } /* on retire les differents sous-menus qui ne sont pas dans la nouvelle arborescence demandee. Si on a ouvert menu1 : - l'ouverture de menu2 doit entrainer la fermeture de menu1 - l'ouverture de menu1.1 ne doit pas entrainer cette fermeture Pour cela, on va enlever les deux derniers caracteres de 'id' et comparer aux elements stockes dans le tableau des elements ouverts sousmenu[], en retirant un par un tous les derniers blocs ouverts, jusqu'a ce qu'on ait la meme chose ou qu'il ne reste plus rien.*/ var id1=id.substring(0,id.length-2); while (sousmenu.length != 0 && id1 != sousmenu[sousmenu.length-1]) { retire(sousmenu[sousmenu.length-1]); sousmenu.length -- ; } /* On ouvre le bloc demande, sauf si id est vide */ if (id) { montre(id); sousmenu[sousmenu.length]=id } } </script> </head><body bgcolor="#faf5d7" text="##001144" link="#330055" vlink="#000000" alink="#FF0000"> <div style="width:95%"> <div style="width:108px; border:1px solid black; float:left; padding:1px; margin-right:8px;" id="menu_glissant"> <div> <a href="#" class="item" onClick="affiche('menu1'); return false"><img src="image_menu.jpg" width="107" height="22"> </a> <div id="menu1" > <a href="#" class="item" onClick="affiche('menu1.1'); return false"><i>Article 1</i></a> <i><br> <a href="#" class="item" onClick="affiche('menu1.2'); return false">Article 2</a> <br> <a href="#" class="lien">Article 3</a></i> </div> </div> </div> </div> </body> </html>
| | |
| |
| Publicité |
|
| | hicham | Posté le 17/01/2007 à 02:59 | Petit astucien
108 Messages
| rebonjour voila l'mage du menu f | | | | | Malcolm | Posté le 17/01/2007 à 09:21 | Astucien
7271 Messages
| il manque le code Java ... à moins que tu ne parles de "javascript", ce qui n'est pas du tout le même chose. dur de relire un code non commenté et non indenté | | | |
| | Haut de la page |
| | Inscrivez-vous ! |
- Posez vos questions
- Résolvez vos problèmes
- Aidez les autres
- Participez et créez vos discussions
- Dialoguez en privé avec d'autres membres
- Suivez vos sujets préférés
- Affichez les signatures des membres
|
|