begin process at 2012 05 29 11:31:26
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript Orienté objet (POO)

 > 

Function & Méthodes

 > 

Help menu dynamique


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Help menu dynamique

mardi 27 juin 2006 à 15:56:05 | Help menu dynamique

TMG Boby

Salut all
J'ai téléchargé un script de menu dynamique vertical sur l'éditeur javascript, jai modifié quelques lignes de codes mais je n'arrive pas au resultat suivant:
lorsque l'on clique sur une rubrique, celle çi s'ouvre pour faire apparaitre ses sous rubriques et je voudrais que lorsqu'on clique sur une autre rubrique la première reste ouverte et ne se referme que lorsque l'on reclique dessus ( j'ai peur de pas être clair  )

Voiçi le code complet:



var largeurMenu = 150                // Pour régler la largeur du menu
var policeMenu = "Verdana"            // Police pour les menus
var taillePoliceMenu = "10"            // Taille de la police du menu
var couleurPoliceMenu = "#000000"    // Couleur de la police du menu
var couleurBordure = "#000000"        // Couleur de la bordure du menu
var couleurFond = "#C3C9D4"            // Couleur du fond du menu
var couleurFond2 = "#A7ADB7"        // Couleur du fond des sous menus
var couleurLienRollOver = "#FFFFFF"    // Couleur des liens lors du rollover
var couleurFondRollOver = "#959EAD"    // Couleur du fond sur Rollover

//------------------- Valeurs du menu  ------------------------//

// nom de chaque menu - Vous pouvz en rajouter autant que vous le souhaitez
var menu = new Array();
menu[0]="Javascript";
menu[1]="Php/MySQL";
menu[2]="Html";

var ssmenuNom = new Array();
var ssmenuLien = new Array();
var ssmenuTarget = new Array();

// Valeurs sous le premier menu

ssmenuNom[0] = new Array();
ssmenuLien[0] = new Array();
ssmenuTarget[0] = new Array();

ssmenuNom[0][0] = "Cours";                                // Nom du lien
ssmenuLien[0][0] = "http://www.script-masters.com/";    // Adresse
ssmenuTarget[0][0] = "_blank";                            // ouvrir une fenetre : _blank
                                                        // ds la même fenetre : _top
                                                        // ds une frame : nom de la frame

ssmenuNom[0][1] = "Exemple";
ssmenuLien[0][1] = "http://www.script-masters.com/";
ssmenuTarget[0][1] = "_blank";

ssmenuNom[0][2] = "liens";
ssmenuLien[0][2] = "http://www.script-masters.com/";
ssmenuTarget[0][2] = "_blank";


// Valeurs sous le second menu - Répéter opération
ssmenuNom[1] = new Array();
ssmenuLien[1] = new Array();
ssmenuTarget[1] = new Array();

ssmenuNom[1][0] = "Cours";
ssmenuLien[1][0] = "http://www.script-masters.com/";
ssmenuTarget[1][0] = "_blank";

ssmenuNom[1][1] = "Exemple";
ssmenuLien[1][1] = "http://www.script-masters.com/";
ssmenuTarget[1][1] = "_blank";

ssmenuNom[1][2] = "liens";
ssmenuLien[1][2] = "http://www.script-masters.com/";
ssmenuTarget[1][2] = "_blank";

ssmenuNom[1][3] = "ohoho";
ssmenuLien[1][3] = "http://www.script-masters.com/";
ssmenuTarget[1][3] = "_blank";

// Valeurs sous le troisieme menu - idem
ssmenuNom[2] = new Array();
ssmenuLien[2] = new Array();
ssmenuTarget[2] = new Array();

ssmenuNom[2][0] = "Cours";
ssmenuLien[2][0] = "http://www.script-masters.com/";
ssmenuTarget[2][0] = "_blank";

ssmenuNom[2][1] = "Exemple";
ssmenuLien[2][1] = "http://www.script-masters.com/";
ssmenuTarget[2][1] = "_blank";

ssmenuNom[2][2] = "liens";
ssmenuLien[2][2] = "http://www.script-masters.com/";
ssmenuTarget[2][2] = "_blank";

//------------------- Ne rien modifier  ------------------------//
var nbMenu = menu.length;

//------------------- Rendu dynamique  ------------------------//

function montreMenu(num){
    for (var i=0; i<nbMenu; i++) {       
            objet = document.all["ssmenu"+i]       
    if (objet.style.display == ""){
        objet.style.display = "none"
    }
    }   
        objet = document.all["ssmenu"+num]           
    if (objet.style.display == "none"){
        objet.style.display = ""   
    }
}

function onClic(lien) {
    lien.style.background = couleurFondRollOver;
    lien.style.color = couleurLienRollOver;
}

function rollOut(lien) {
    lien.style.background = couleurFond2;
    lien.style.color = couleurPoliceMenu;
}

function ouvreLien(url,mode) {
    if (mode == "_blank") {
        window.open(url)
    } else if (mode == "_top")  {
        window.top.location.href = url
    } else {
        window.top.parent.frames[mode].location.href  = url
    }
}

//------------------- Génération du menu  ------------------------//

function generation () {
    document.write("<style type='text/css'>");
    document.write("td.menu {");
    document.write("    font-family: "+policeMenu+";");
    document.write("    font-size: "+taillePoliceMenu+"px;");
    document.write("    color: "+couleurPoliceMenu+";");
    document.write("    border: 1px solid "+couleurBordure+";");
    document.write("    background-color: "+couleurFond+";");
    document.write("}");

    document.write("table.ssmenu {");
    document.write("    font-family: "+policeMenu+";");
    document.write("    font-size: "+taillePoliceMenu+"px;");
    document.write("    color: "+couleurPoliceMenu+";");
    document.write("    border: 1px solid "+couleurBordure+";");
    document.write("    background-color: "+couleurFond2+";");
    document.write("}");
    document.write("</style>");
   
    document.write("<table width='"+largeurMenu+"' border='0' cellspacing='0' cellpadding='0'>");
    //1ere boucle
    for (i=0; i<nbMenu; i++) {
        document.write("<tr>");
        document.write("<td onClick='montreMenu("+i+")' style='cursor:hand' class='menu'>"+menu[i]+"</td>");
        document.write("</tr>");
        document.write("<tr style='display:none' id='ssmenu"+i+"'>");
        document.write("<td>");
         //<!--Un espace-->
        document.write("<table width='"+largeurMenu+"' border='0' cellspacing='0' cellpadding='0'>");
        document.write("<tr>");
        document.write("<td width='2'></td>");
        document.write("</tr>");
        document.write("</table>");
        //<!--Le sous menu-->
        document.write("<table width='"+largeurMenu+"' border='0' cellspacing='0' cellpadding='0' class='ssmenu'>");
           // seconde boucle
        for (z=0; z<ssmenuNom[i].length; z++) {
            document.write("<tr>");
            document.write("<td onClick='onClick(this)' onMouseOut='rollOut(this)' onClick='ouvreLien(\""+ssmenuLien[i][z]+"\",\""+ssmenuTarget[i][z]+"\")' style='cursor:hand'>"+ssmenuNom[i][z]+"</td>");
            document.write("</tr>");
               //fin seconde boucle
        }
        document.write("</table>");
        document.write("</td>");
        document.write("</tr>");
        document.write("<tr>");
        document.write("<td width='2'></td>");
        document.write("</tr>");
        // fin 1 ere boucle
        }
    document.write("</table>");
    }



Merci
jeudi 29 juin 2006 à 21:41:02 | Re : Help menu dynamique

PetoleTeam

Membre Club
Réponse acceptée !


B onsoir...

modifies la fonction comme suit et test..

function montreMenu(num){
/*
    for (var i=0; i<nbMenu; i++) {      
      objet = document.all["ssmenu"+i]      
      if (objet.style.display == ""){
        objet.style.display = "none"
      }
    }  
*/
    objet = document.getElementById( "ssmenu" +num); // c'est plus DOM
//    objet = document.all["ssmenu"+num]          
    if (objet.style.display == "none")
      objet.style.display = ""  
    else
      objet.style.display = "none"   ;
}


;0)
vendredi 30 juin 2006 à 10:38:52 | Re : Help menu dynamique

TMG Boby

OMG, très grand merci à toi PetoleTeam ça marche nikel !!!



Cette discussion est classée dans : menu, document, array, write, ssmenulien


Répondre à ce message

Sujets en rapport avec ce message

lien dans le titre principal d'un menu déroulant dynamique [ par DlaVega ] Bonjour, le script en java-script ci-dessous, me donne un menu vertical avec des sous menus (dynamique sur rollover) mais seul les sous-titres des sou Ouvrir des pages htm dans un iFrame [ par pat84 ] Bonjour à tous,J'ai récupéré un menu sur le web que j'ai modifié pour mon usage...Un menu est situé dans la page index.htm et dans cette page index.ht probleme validation site [ par locs34 ] bonjour, j'ai récupérer le menu qui suit ici (aucune erreur sur validator), je l'ai ensuite intégrer directement dans ma page index.html cela fonction probleme avec document.writ() [ par neolin85 ] Bonsoir à tous,Je souhaite construire un menu horizontal sauf que j'ai un soucis avec la méthode write de la classe document.En fait, chaque fois que Menu déroulant inopérant sous FF [ par bowtech ] Bonjour à tousTout d'abord, bravo pour votre site de qualité. C'est toujours un plaisir de parcourir les pages.Je suis relativement novice dans la pro probleme avec un script [ par angelimad ] bonjour,je connais pas trop sur javascript, j'ai telechargé un script pour un menu horizentale d'ici, et je l'ai integré dans mon site, il marche tres Disparition d'un sous-menu avec setTimeout() [ par sebalex ] Bonjour à tous, Voici le code d'un menu que j'ai repris et adapté à mes besoins. J'aimerais ajouter la fonction "setTimeout()" pour que le sous-menu Menu avec affichage du sous-menu au survol [ par lotte3 ] Bonjour à tousJe suis nouvelle sur ce forum de Javascript, et je débute dans ce langage, dans ne m'en veuillez pas si je pose des questions trop simpl menu_script [ par sam_12_3 ] salut tout le monde, voila j'ai un gros problemes je ne comprend pas du tout un script  que j' ai pris sur internet qui permet de crer un menu dynami Problème avec les liens relatifs [ par Fab117 ] Salut, L'architecture de mes pages web est du type : Répertoire d'accueil Accueil.htm Menu principal


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,484 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales