Menus en cascade (alternative avec effacement des menus déroulés)

Description

Reprise de mon menu en cascade mais les menus se referment progressivement. (Réalisé suite aux demandes de nombre d'entre vous...)
Recuperez le premier script (menus en cascade de VB'Breizh), puis remplacez l'ancienne fonction par celle-ci.
C'est une version plus élaborée de la fonction qui ferme toutes les ouvertures lors d'un nouvel appel.
En cas d'une arborescence meuhmeuh, les références aux divers menus pourraient être passés en paramètres à la fonction...style :
function springing(currMenu,mnu1,mnux) ou variantes
On peut encore développer pour d'autres niveaux bien sur...

Source / Exemple :


<script language="JavaScript"><!--
function springing_Menu_2(currMenu) {
var i;
var pos= document.getElementById(currMenu).style.display;
if (currMenu.search('submenu')==-1) {      //click sur un menu
for (i=1;i<6;i++) {                                     //initialise (5 menus)
      document.getElementById('menu'+i).style.display='none';}
//----------------------------modifie selon l'état precedent du menu
if (pos=='none') {document.getElementById(currMenu).style.display='block';}
}
if (currMenu.search('submenu')!=-1) {      //click sur un sous-menu
for (i=51;i<60;i++) {                                //initialise (9 sous-menus)
      document.getElementById('submenu'+i).style.display='none';}
//-------------------------modifie selon l'état precedent du sous-menu
if (pos=='none') {document.getElementById(currMenu).style.display='block';}
}}
--></script>

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.