voila un petit script fait main qui s'occupe de tout faire à ta place. J'entend par là que tu n'a même pas besoin de mettre les onclick="showmonmenu('leiddusousmenu')"
ce script fait tout tout seul
les sous menu ne sont pas cachés par CSS, mais par le JS, car si on affiche la page sans javascript, il faut bien qu'on puisse cliquer sur les liens des sous menus!
la seule recommendation est du respecter les UL LI A
voila un exemple ici http://gatsu.ftp.free.fr/html/scriptMenuauto.html
le squelette suivant doit etre conservé :
Code :
- <ul id="menu">
- <li><a href="#">lien</a></li>
- <li><a href="#">Sous Menu</a>
- <ul>
- <li><a href="#">lien</a></li>
- <li><a href="#">lien</a></li>
- <li><a href="#">lien</a></li>
- </ul>
- </li>
- </ul>
|
bon voila le zoli script
Code :
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <title></title>
- <script>
- function DynamMenu(){
- if(!document.getElementsByTagName) //On teste si on a le droit de faire mumuse avec le DOM sur les TAGNAME
- return;
- var Menu = document.getElementById('menu'); //On récupère le menu
- var li = Menu.getElementsByTagName('LI'); //On récupère tous les LI du menu
- for(var i=0; i<li.length-1; ++i) { //On scanne tous les LI
- var sousUL = li[i].getElementsByTagName('UL'); //Pour chaque LI on recupère le UL dessous
- if (sousUL[0]) { //On vérifié qu'il y a un UL dans le LI
- sousUL[0].id = 'sousmenu' + i; //On met un ID à ce UL
- sousUL[0].style.display = "none";
- li[i].getElementsByTagName('A')[0].href= "javascript:ShowHideMenu('sousmenu" + i + "')";
- }
- }
- }
- window.onload = DynamMenu;
- function ShowHideMenu(MenuId){
- var SousMenu = document.getElementById(MenuId);
- if (SousMenu.style.display=='block' || SousMenu.style.display == null) {
- SousMenu.style.display = 'none'; //ON cache le sous menu
- }
- else{
- SousMenu.style.display = 'block'; //On affiche le sous menu
- }
- }
- </script>
- </head>
- <body>
- <ul id="menu">
- <li><a href="#">lien</a></li>
- <li><a href="#">lien</a></li>
- <li><a href="#">lien</a></li>
- <li><a href="#">Truc a cliquer pour etendre</a>
- <ul id="test">
- <li><a href="#">lien</a></li>
- <li><a href="#">infos 12</a>
- <ul>
- <li><a href="#">lien</a></li>
- <li><a href="#">lien</a></li>
- <li><a href="#">lien</a></li>
- </ul>
- </li>
- <li><a href="#">lien</a></li>
- </ul>
- </li>
- <li><a href="#">lien</a></li>
- <li><a href="#">clic là aussi</a>
- <ul>
- <li><a href="#">lien</a></li>
- <li><a href="#">lien</a></li>
- <li><a href="#">lien</a></li>
- </ul>
- </li>
- </ul>
- </body>
- </html>
|
Message édité par gatsusat le 10-07-2005 à 22:43:22