Modification menu javascript

Fermé
yozart Messages postés 39 Date d'inscription lundi 6 juin 2005 Statut Membre Dernière intervention 27 novembre 2009 - 25 nov. 2006 à 15:01
 lilian - 5 mars 2007 à 11:13
Bonjour a tous,

Voila, j'ai trouvé un javascript fort simpa pour creer un menu déroulant. src:http://www.infini-fr.com/Sciences/Informatique/Reseaux/Internet/WorldWideWeb/Javascript/Bibliotheque/navigationDynamicMenu.html


Je l'ai donc mis en place mais me suis ensuite rendu compte que lorsqu'on cliquait sur un lien, le menu se refermait completement. J'ai donc essayé, en vain, de modifier le code pour que au moins l'onglet père du lien cliqué reste ouvert.

C'est pourquoi, je viens voir si personne n'aurait une solution pour moi parce que la ca fait 1h30 je galère la dessus ^^.

Merci beaucoup

<script language=javascript>
        <!--
            var intCount = 0;

            //-Fonction d'ajout d'entrées principales-------------------------
            function DynamicMenu_addParent(strName) {
                var strID = 'ID' + intCount++; 

                var strTemp = '<DIV ID="' + strID + '" CLASS="parent"';
                strTemp += ' onClick="expandCollapse(this);">';
                strTemp += '<IMG SRC="../images/fleche.gif" Height="12">';
                strTemp += '&nbsp;' + strName ;
                strTemp += '<DIV STYLE="display: none" CLASS="child"></DIV>';
                strTemp += '</DIV>';

                this.div.innerHTML += strTemp;
                this.currentChild = document.getElementById(strID);
            }

            //-Fonction d'ajout de liens dans le menu-------------------------
            function DynamicMenu_addChild(strName,strURL) {
                var strTemp = '<A HREF="' + strURL + '"'
                            + ' onClick="cancelBubble(arguments[0]);">' 
                            + strName + '</A><BR>';

                if (document.all) {
                    this.currentChild.children[1].innerHTML += strTemp;
                } else {
                    this.currentChild.childNodes[2].innerHTML += strTemp;
                }
            }

            //-inhibe la cascade d'évènements au DIV conteneur----------------
            function cancelBubble(netEvent) {
                if (document.all) {
                    window.event.cancelBubble = true;
                } else {
                    netEvent.cancelBubble = true;
                }
            }

            //-Contracte ou expanse le menu-----------------------------------
            function expandCollapse(objElement) {
                if (document.all) {
                    var imgIcon = objElement.children[0];
                    objElement = objElement.children[1];
                } else {
                    var imgIcon = objElement.childNodes[0];
                    objElement = objElement.childNodes[2];
                }    

                if (objElement.style.display == "none") {  
                    objElement.style.display = "block" ;
                    imgIcon.src = "../images/fleche.gif" ;
                } else {
                    objElement.style.display = "none" ;
                    imgIcon.src = "../images/fleche.gif" ;
                }
            }

            //-Fonction de création de menu dynamique------------------------- 
            function DynamicMenu() {
                var id = "Menu" + intCount++;
                document.write('<DIV Id="' + id + '"></DIV>');

                this.div = document.getElementById(id);
                this.currentChild = null;

                this.addParent = DynamicMenu_addParent;
                this.addChild = DynamicMenu_addChild;
            }
			
        // -->
        </script>
A voir également:

2 réponses

yozart Messages postés 39 Date d'inscription lundi 6 juin 2005 Statut Membre Dernière intervention 27 novembre 2009 1
25 nov. 2006 à 15:57
bon en fait c'est bon... J'ai galéré mais j'ai reussi... Merci quand meme...
0
bonjour,
j'ai le même problème que toi, j'aimerais garder ouvert le menu cliqué lorsque la page se recharge.
je cherche, mais je ne réussi pas (je ne touche pas trop en js...)
pourrais-tu m'indiquer ta solution ?

merci et bonne journée !
0
Bonjour,

Moi j'aimerais bien avoir en titre principal (parent) une image au lieu d'un texte, mais si je met <img src=xxx.gif> il y a une erreur

kk peut m'aider ?

Merci
aline
0