Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1407 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  menu vertical dynamique

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

menu vertical dynamique

n°1576411
jadorelesc​ss38
Posté le 18-06-2007 à 17:18:39  profilanswer
 

J'ai un menu vertical que j'ai inséré dans un site en ASP et auquel je voudrais rajouter des options....
 
- Je souhaiterai que mon menu reste en état lorsque je recharge ma page. Il s'agit d'un menu qui ressemble a un treeview et je veux donc que les sous-menu qui ont été développé le reste. Je pensais passer par une variable de session, mais est-ce possible en javascript ?
 
- Je souhaiterai a l'aide d'un boutton pouvoir développer l'ensemble du menu et inversement le refermer...
 
Si quelqu'un a des pistes a m'indiquer
 
Merci d'avance
 
Voici le code de mon menu:

Code :
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <HTML>
  3.     <HEAD>
  4.         <TITLE>Test de menu dynamique</TITLE>
  5.         <STYLE>
  6.             .parent {
  7.                 font-family: verdana;
  8.                 font-weight: bold;
  9.                 font-size: 10pt;
  10.                 cursor: hand;
  11.             }
  12.             .child  {
  13.                 font-size: 10pt;
  14.    margin-left: 10pt;
  15.                 font-weight: normal;
  16.             }
  17.             a:hover { color:red; }
  18.         </STYLE>
  19.         <SCRIPT LANGUAGE=javascript>
  20.             var intCount = 0;
  21.             //-Fonction d'ajout d'entrées principales-------------------------
  22.             function DynamicMenu_addParent(strName) {
  23.                 var strID = 'P_' + strName;
  24.                 var strTemp = '<DIV ID="' + strID + '" CLASS="parent"';
  25.                 strTemp += ' onclick ="expandCollapse(this);">';
  26.                 strTemp += '<IMG SRC="left.gif" Height="12">';
  27.                 strTemp += '&nbsp;' + strName;
  28.                 strTemp += '<DIV STYLE="display: none" CLASS="child"></DIV>';
  29.                 strTemp += '</DIV>';
  30.                 this.div.innerHTML += strTemp;
  31.                 this.currentChild = document.getElementById(strID);
  32.             }
  33.             //-Fonction d'ajout des sous entrées principales-------------------------
  34.             function DynamicMenu_addSousParent(strName) {
  35.                 var strID = 'S_' + strName;
  36.                 var strTemp = '<DIV ID="' + strID + '" CLASS="parent"';
  37.                 strTemp += ' onclick ="expandCollapse(this);">';
  38.                 strTemp += '<IMG SRC="left.gif" Height="12">';
  39.                 strTemp += '&nbsp;' + strName;
  40.                 strTemp += '<DIV STYLE="display: none" CLASS="child"></DIV>';
  41.                 strTemp += '</DIV>';
  42.                 if (document.all) {
  43.                     this.currentChild.children[1].innerHTML += strTemp;
  44.                 } else {
  45.                     this.currentChild.childNodes[2].innerHTML += strTemp;
  46.                 }
  47.                 this.currentChild = document.getElementById(strID);
  48.             }
  49.             //-Fonction d'ajout de liens dans le menu-------------------------
  50.             function DynamicMenu_addChild(strName,strURL) {
  51.                 var strTemp = '<A HREF="' + strURL + '"'
  52.                             + ' onClick="cancelBubble(arguments[0]);">'
  53.                             + strName + '</A><BR>';
  54.                 if (document.all) {
  55.                     this.currentChild.children[1].innerHTML += strTemp;
  56.                 } else {
  57.                     this.currentChild.childNodes[2].innerHTML += strTemp;
  58.                 }
  59.             }
  60.             //-inhibe la cascade d'évènements au DIV conteneur----------------
  61.             function cancelBubble(netEvent) {
  62.                 if (document.all) {
  63.                     window.event.cancelBubble = true;
  64.                 } else {
  65.                     netEvent.cancelBubble = true;
  66.                 }
  67.             }
  68.             //-Contracte ou expanse le menu-----------------------------------
  69.             function expandCollapse(objElement) {
  70.    var strId = objElement.id;
  71.    if (intCount == 0) {
  72.                 if (document.all) {
  73.                     var imgIcon = objElement.children[0];
  74.                     objElement = objElement.children[1];
  75.                 } else {
  76.                     var imgIcon = objElement.childNodes[0];
  77.                     objElement = objElement.childNodes[2];
  78.                 }   
  79.                 if (objElement.style.display == "none" ) { 
  80.                     objElement.style.display = "block" ;
  81.                     imgIcon.src = "bottom.gif" ;
  82.                 } else {
  83.                     objElement.style.display = "none" ;
  84.                     imgIcon.src = "left.gif" ;
  85.                 }
  86.    }
  87.    if (strId.substring(0,1) == 'S') {
  88.     intCount = 1;
  89.    }
  90.    if (strId.substring(0,1) == 'P' && intCount == 1) {
  91.     intCount = 0;
  92.    }
  93.             }
  94.             //-Fonction de création de menu dynamique-------------------------  
  95.             function DynamicMenu(strName) {
  96.                 //var id = "Menu" + intCount++;
  97.                 var id = strName;
  98.                 document.write('<DIV Id="' + id + '"></DIV>');
  99.                 this.div = document.getElementById(id);
  100.                 this.currentChild = null;
  101.                 this.addParent = DynamicMenu_addParent;
  102.                 this.addSousParent = DynamicMenu_addSousParent;
  103.                 this.addChild = DynamicMenu_addChild;
  104.             }
  105.         </SCRIPT>
  106.     </HEAD>
  107.     <BODY>
  108.         <SCRIPT Language="Javascript">
  109.             var menu = new DynamicMenu("Menu1" );
  110.   menu.addParent("Présentation","page1.html" );
  111.                 menu.addChild("Lien 1","page1.html" );
  112.             menu.addSousParent("Node 11","" );
  113.                 menu.addChild("Lien 1","page1.html" );
  114.                 menu.addChild("Lien 2","page2.html" );
  115.              menu.addSousParent("Node 111","" );
  116.                  menu.addChild("Lien 1","page1.html" );
  117.             menu.addParent("Liens","" );
  118.                 menu.addChild("Lien 1","page1.html" );
  119.                 menu.addChild("Lien 2","page2.html" );
  120.         </SCRIPT>
  121.     </BODY>
  122. </HTML>

mood
Publicité
Posté le 18-06-2007 à 17:18:39  profilanswer
 

n°1576567
fabrice91
Posté le 18-06-2007 à 23:23:54  profilanswer
 

Je ne réponds pas à ta question mais moi j'utilise ça, ça marche très bien et c'est assez souple !!!
http://www.destroydrop.com/javascripts/tree/
et des exemples ici:
http://www.destroydrop.com/javascripts/tree/example/
Maintenant, si tu veux développer un truc toi même... :whistle:
 
L'API nous dit ceci :
configuration :
useCookies : Boolean  The tree uses cookies to remember it's state.
et il y a une fonction open all / close all


Message édité par fabrice91 le 18-06-2007 à 23:28:04
n°1576611
jadorelesc​ss38
Posté le 19-06-2007 à 09:01:14  profilanswer
 

Merci pour ton lien, sa pourrait m'intéresser...
 
Sinon j'ai oublié de préciser un truc: c'est pas moi qui a développé ce menu, il s'agit d'un code dispo sur le net... je mettrai un lien vers la source si je le retrouve...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  menu vertical dynamique

 

Sujets relatifs
Pb menu déroulant entre IE et FirefoxLe déroulement d'un menu qui passe sous un bloc, probléme!
Insertion dynamique d'une ligne de tableauPb réaffichage formulaire dynamique
Menu flash...Help pour la fonction GeturlProblème affichage menu déroulant CSS/java sous IE
Comment gérer un formulaire dynamique de rechercheProblème de destruction dynamique d'Applet
[HTML;CSS ] MenuFaire remonter un menu dynamique vertical
Plus de sujets relatifs à : menu vertical dynamique


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR