//************ Menu Principal ************// Text = '#FFFFFF' bgcolor = '#000000' // Couleur Arrière bgcolor2 = '#6699CC' // Couleur Arrière Surbrillance bgcolor3 = '#ff00ff' // Couleur Bordure LargeurM = 110 // Largeur HauteurM = 30 // Hauteur TailleM = 2 // Taille Font menu = new Array i=0 menu[i++] = 'HomePage' // <-- Titre menu[i++] = '#' // <-- Adresse (ici aucune) menu[i++] = 'Mon Compte' menu[i++] = 'http://www.javascriptfr.com/moncompte.aspx' menu[i++] = 'JavaScript' menu[i++] = 'http://www.javascriptfr.com' menu[i++] = 'CPP' menu[i++] = 'http://www.cppfrance.com' //************ Sous-Menus ************// bgcolor5 ='#555555' // Couleur Arrière bgcolor6 ='#6699ff' // Couleur Arrière Surbrillance bgcolor4 ='#ffff00' // Couleur Bordure LargeurS = 150 // Largeur HauteurS = 20 // Hauteur TailleS = 1 // Taille Font zlien = new Array zlien[0] = new Array zlien[1] = new Array zlien[2] = new Array zlien[3] = new Array i=0 zlien[0][i++] = 'MultiDesk' // <-- Titre zlien[0][i++] = 'http://multidesk.pass-x.com/' // <-- Adresse //i=0 Pas de Sous-Menus pour le menu principal 'Mon Compte' //zlien[1][i++] = '...' //zlien[1][i++] = 'http://' //zlien[1][i++] = '...' //zlien[1][i++] = 'http://...' i=0 zlien[2][i++] = 'Code' zlien[2][i++] = 'http://www.javascriptfr.com/listecodes.aspx' zlien[2][i++] = 'Forum' zlien[2][i++] = 'http://www.javascriptfr.com/forum.v2.aspx' zlien[2][i++] = 'Emploi' zlien[2][i++] = 'http://www.javascriptfr.com/emploi.aspx' i=0 zlien[3][i++] = 'Code' zlien[3][i++] = 'http://www.cppfrance.com/listecodes.aspx' zlien[3][i++] = 'Forum' zlien[3][i++] = 'http://www.cppfrance.com/forum.v2.aspx' zlien[3][i++] = 'Emploi' zlien[3][i++] = 'http://www.cppfrance.com/emploi.aspx' zlien[3][i++] = 'Livres' zlien[3][i++] = 'http://www.cppfrance.com/500.aspx?aspxerrorpath=/livres.aspx' //************ Fin des paramètres, Début du programme ************// document.write('<style type="text/css">') document.write('.popper {POSITION:absolute; VISIBILITY:hidden; z-index:15; left:'+(LargeurM-1)+' }') document.write('.ejsmenu {color:#FFFFFF; text-decoration:none; cursor:default;}') //cursor:default ou hand document.write('</style>') document.write('<div style="position:relative"><DIV class=popper id=topdeck></DIV>') if(document.getElementById) { skn = document.getElementById("topdeck").style } function pop(msg,pos) { skn.visibility = "hidden" skn.top = pos if(msg.length == 0) return var content ="<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 BGCOLOR="+bgcolor4+" WIDTH="+LargeurS+"><TR><TD><TABLE WIDTH=100% BORDER=0 CELLPADDING=0 CELLSPACING=1>"; pass = 0 while(pass < msg.length) { content += "<TR><TD BGCOLOR="+bgcolor5+" onMouseDown='location.href=\""+msg[pass+1]+"\"'CLASS=ejsmenu onMouseOver=\"this.style.background='"+bgcolor6+"'\" onMouseOut=\"this.style.background='"+bgcolor5+"'\" HEIGHT="+HauteurS+"><FONT SIZE="+TailleS+" FACE=Verdana><B> "+msg[pass]+"</B></FONT></TD></TR>"; pass+=2 } content += "</TABLE></TD></TR></TABLE>" document.getElementById("topdeck").innerHTML = content skn.visibility = "visible" } document.onclick = function() { if(document.getElementById) skn.visibility = "hidden" } if(document.getElementById) { document.write('<DIV ID=topgauche><TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 BGCOLOR='+bgcolor3+' WIDTH='+LargeurM+' HEIGHT=80><TR><TD><TABLE CELLPADING=0 CELLSPACING=1 BORDER=0 WIDTH=100% HEIGHT='+HauteurM*menu.length/2+'>') pass = 0 while(pass < menu.length/2) { document.write('<tr><TD WIDTH='+LargeurM+' ALIGN=center BGCOLOR='+bgcolor+' onMouseDown="location.href=\''+menu[pass*2+1]+'\'" onMouseOver="this.style.background=\''+bgcolor2+'\';pop(zlien['+pass+'],'+pass*HauteurM+')" onMouseOut="this.style.background=\''+bgcolor+'\'" CLASS=ejsmenu><FONT SIZE='+TailleM+' FACE=Verdana><B>'+menu[pass*2]+'</B></FONT></TD></tr>') pass++ } document.write('</TABLE></TD></TR></TABLE></DIV>') } document.write('</div>')
Salut,D'après l'apercu, ce code est très intéréssant mais ca ne marche pas chez moi (le blanc total). Tu sais d'où sa peut venir. Sachant que j'ai IE6 et que j'y connais pas grand chose à ce truc là . euuh javascriptMerci
Juste une petite question :Pourquoi dans la ligne (menu = new Array;) tu mets un points virgule et les autres lignes sans?Normalement, est-ce que le point-virugule , on peut s'en passé ??? comme dans ce code ??
Bonjour,Pour le ";", il faut en mettre un aprés chaque instruction.Mais en général, on peut s'en passer (pas toujours).Ici, on peut écrire "menu = new Array" sans ";".Je possède également IE6 et cela fonctionne ...As-tu un message d'erreur javascripte en bas à gauche sur le navigateur IE ?As-tu d'autres codes en plus de celui proposé ci-dessus ?
Voici un lien pour tester :http://horizonpc.phpnet.org/Code/Menu%20Vertical.html
Merci larion.Enfait, y a pas d'erreurs car j'ai oublié de mettre le code entre les balises <html></html>Je m'en ai apercu en comparant le code que j'ai collé et le lien que tu as mis.Merci encore.
marche bien sur IE et Opera :-)MAIS :- dommage qu'il soit généré entièrement en javascript (donc pas utilisable pour les nav où le js est désactivé)- Plutôt que de faire du onmousedown... fait un lien ! <a href="..."- comme c'est du js et pas des liens, google n'y voit que dalle (pas bon si tu veux référencer ton site).- ...Si tu veux apprendre à faire un menu plus compatible, html + css principalement, regarde sur www.openweb.eu.org et mon adaptation perso sur http://iubito.free.fr/prog/menu.phpa+
Bonjour,Merçi pour tes remarques, j'avais oublié les contraintes de la méthode utilisée ici.Cependant j'ai un avis différent concernant l'utilisation d'un fichier.js.Avantages :- Accélère le téléchargement des pages, diminue le trafique- Améliore le classement dans le moteur de rechercheInconvéniant :- Non reconnu (en principe) par les moteurs de recherche.Mais il existe d'autres techniques que le menu pour faire connaître ces pages aux robots.- En effet, le code ne s'exécute pas "pour les nav où le js est désactivé". Mais cela concerne très peu de personne. Chez moi cela correspond à 0,7%.Mais ce problème peut se résoudre en créant des pages index. Prendre exemple sur telecharger.com.Cette technique améliore le classement.Comme je paye le trafique que je génère, j'ai fais le choix d'optimiser à tous prix mes pages.Ainsi j'ai gagné 30% de trafique.Mais je comprends que d'autre personne n'ai pas les même contrainte que moi, et que vous fassiez d'autre choix que les miens. Bien que débutant en javascript, je tenais juste à défendre ce choix.
Et puis ce site est dédié au Javascript, alors ...
comment ça améliore le classement dans les moteurs de recherche ?
C'est un peu compliqué à expliquer, je prends pour exemple un site de téléchargement de programme, et on désire référencer et positionner la page html dédié au programme "WinAmp" par exemple.Imaginons que la page contient 100 mots dont 5 pour "WinAmp". (soit 5%)Le fait de rajouter un menu en Html peut en exagérant augmenter la page de 100 mots dont 1 pour "WinAmp".Cela fait 6 "WinAmp" pour 200 mots soit 3,5%. (Deux fois moins)Mais le plus important reste à suivre.Les robots accordent une grande importance au début de page. En effet, une page dont le texte débute par "WinAmp" sera mieux positionner par la même page dont le texte commence par autre chose que "WinAmp", un menu ou autre chose. Cet effet est dont accentué si le mot "WinAmp" se trouve au 100ième mots du document ce qui sera le cas avec un menu.C'est logique, car le menu n'a rien à voir avec "WinAmp".Attention, ici je n'explique pas comment positionner une page, mais l'influence d'un code (menu ou autre) en début de page dans le positionnement d’un moteur de recherche.
BonjourIl est excellent ton code et simple à modifier pour changer les couleurs, rajouter des éléments de menu, etc.Une seule question à laquelle je n'ai pas trouvé de réponse : comment faire pour que la taille de la police ne puisse pas être modifiée par l'utilisateur (avec la commande "Affichage/Taille du texte" dans I.E. par exemple.Merci de tes conseils si possible.
Bonjour ComservonJe ne sais pas faire non plus. Si quelqu'un à le code pour bloquer la taille, je suis près à modifier le code du menu.
comment positioner le menu à un emplacement précis et pas en haut à gauche..........je suis vraiment débutantMerci pour l'aide
Salut larionTon code n'est pas mal du tout et qui plus est trés facile à integrer à un site. Pourtant j'ai un problème assez drole à voir à l'écran.En effet, si j'essai de faire deux menus qui s'affichent sur la même page à different endroit avec par exemple (menu1.js et menu2.js) et bien les sous rubriques deviennent les même pour les deux menus.J'ai essayé de changer la variable i en j sur menu2.js et rien n'y fait. je suis pas un pro du javascript . Aurais tu une solution à mon problème ?
arf... c'est vrai qu'il faut savoir bidouiller le javascript pour faire ça, il faut bien mettre des différences dans les id="menu1" ou id="ssmenu4"..., et modifier les javascript en conséquence...Je réfléchis à une possibilité d'en avoir plusieurs, mais pour le moment j'ai un peu la tête ailleurs, et puis j'ai pas trouvé le truc.
bah j'essaye de bidouiller et je dois dire que je pense que la piste à suivre c'est le remplacement de la commande GetElementById. En effet, il me semble que GetElementById renvoit la première occurence trouvée...etes vous du même avis que moi ?? Avez vous une solution ???Allez je continue à bidouiller .....
Je te donne un petit coup de main.- Il faut aussi modifier les variables dans le deuxième menu :menu -> menu2zlien -> zlien2Parce que si les tableaux sont les mêmes dans les 2 tableaux, alors les menus seront les mêmes.- Il faut renomer les fonctions :pop -> pop2parce que 2 fonctions de même nom, cela ne fonctionne pas.- Mettre qu'un seul "document.onclick"parce que document.onclick ne peut contenir qu'une fonction
Je viens de le faire :http://horizonpc.phpnet.org/Code/Menu%20Vertical2.htmlJ'ai fais au plus simple, mais je pense que l'on peut faire plus court.
MERCI MERCI Beaucoup pour cette efficacité .... en plus d'être tres rapide à répondre eh ben ca marche et ca m'arrange beaucoup.Ce script est de plus en plus interressant.Ps: j'avais changé toutes les variables mais pas mit qu'un seul document.onclick. Je suis encore un pti padawan Maitres Jedis !!!! lol
COUCOU c'est encore MOI !!!Bon voilà je viens encore vous embéter.Alors c'est vrai que ca marche le script que tu as modifié larion mais en fait c'est pas si évident à utiliser.Je m'explique, je voudrais avoir deux menus sur ma page, mais je veux pouvoir les placer où je veux. Et en l'occurence entre deux DIV different. Alors j'ai tenté de faire menu1.js et menu2.js pour pouvoir les appeler où je veux sur la page tout en modifiant les variables comme dans le script modifié pour deux menusEt ben ca marche pas !!! Peut être que ce n'est pas possible avec ce code aprés tout....A l'ecran j'ai bien l'affichage des menu[i++] et menu2[i++] mais plus du tout l'affichage des zlien[truc][i++].Une idée ????De tout façon j'essaie de bidouiller .... et si je trouve je vous le dirai !!!!
Là, c'est bien plus compliqué.Je te conseille de tout mettre dans un seul et unique menu.jsPour le reste voir http://horizonpc.phpnet.org/Code/Menu%20Vertical2.htmlElle est pas belle la vie ?
Hé bien ca yé j'ai exactement ce qu'il me fallait ... je termine mon site et je mettrai un lien pour que vous voyez le travail que tu m'as bien degrossie... Encore merci à tous et surtout LarionTchousssss !!!!
Et bien Salut, je reviens à la charge....je crois que là je vais demander queleque chose qui n'est surement pas possible avec ce programme...Voilà au debut du code on definie les couleurs de fonds , du cadre , etc ... Mais n'est-il pas possible de mettre une image et ce en particulier que pour une case du menu principale.Si vous avez la solution, je serais vraiment epaté en plus d'être bien dépanné !
Bonjour,C'est possible.Je viens juste d'aborder ce sujet sur un autre type de menu que j'ai réalisé : http://www.javascriptfr.com/codes/MENU_HORIZONTAL_DYNAMIQUE_AVEC_SOUS-MENUS/26166.aspx
Merci. ca marche bien.Encore une question, comment faire pour choisir une couleur spécifique pour une case choisie du menu ou du sous menu ?
Salut est il possible d'enlever la surbrillance à une case choisie ?
Oui, il suffit de mettre la même couleurA la place de :bgcolor5 ='#555555' // Couleur Arrièrebgcolor6 ='#6699ff' // Couleur Arrière SurbrillanceMettre :bgcolor5 ='#555555' // Couleur Arrièrebgcolor6 ='#555555' // Couleur Arrière Surbrillance
Merci d'avoir repondu aussi rapidement mais je crois que je me suis mal exprimé.En fait je voudrai garder la surbrillance de partout, sauf sur une case du menu, en fait à l'endroit où j'ai mis une image de cette facon :menu[i++] = '<img src="images/menu_h.gif"'menu[i++] = '#'Alors une idée ?
Heu encore une question, je suis vraiment un assisté lolComment faire pour changer la police dans le menu? je n'ai trouvé que la facon de changer la taille du font !
Houps!!!Pour bloquer la surbrillance sur une cellule précise : je ne vois pas commen faire.Pour le reste, tout ce trouve dans ce code :<FONT SIZE='+TailleM+' FACE=Verdana>SIZE : "changer la taille du font"FACE : "pour changer la police"
Euh bon je suis nul maisje cherchat ton script depuis longtemps est le probleme c'est que je n'arrive pas a ajouter des rubrique help please et pour que mon colmpte affiche quelque chose on enleve les //??
Je n'ai pas bien compris ton problème.// met en commentaire tous ce qui est à droite.Si cela ne t'aide pas, n'hésite pas à me demander (avec un peu plus de détails)
Salut,Joli programme Larion, cependant, je suis comme Hebarman, je cherche à avoir 2 menus differents, avec des osu menus differents, et que je puisse les placer n'importe où sur la page !J'ai deja essayé plusieurs codes à la fois (http://www.editeurjavascript.com/scripts/scripts_navigation_1_120.php) et à chaque fois, j'ai un problème de sous menus car le même sous menu s'affiche sur les 2 menus principaux !Voila ma requete !Si quelqu'un à la reponse !Merci
Salut, et merci Larion pour le message !J'ai resolu mon probleme de menus, et donc j'en ai 2 sur la meme page avec des sous menus differents !C'est tout con en faite !Voila ca marche, si certains veulent des explications, sinon bonne journée à tous !
eu quelqu'un peut me dire comment utiliser la propriété target dans ce code je suis un newb ... Merci
Bonjour !Je cherhche aussi à utiliser la propriete TARGET dans ce script et ne trouve pas comment la faire fonctionner.L'ensemble de mes tentatives font que le tableau n'apparait plus. (idem si je cherche à retirer les couleurs de fond)Merci de votre aide.
Ton menu est trés sympa mais je voudrais l'optimisé de maniére personnel et je rencontre certaine difficulté.As tu des solutions pour les problémes suivant ?1- ne détecte pas la sortie de souris afin de fermer automatiquement les sous-menus.2- j'ai modifié ton code pour obtenir 1 menu composé de 10 champs et de plusieurs sous menu et donc à partir du 6 ième champs j'ai incorporé un sous menu et la le menu disparait lor de l'affichage.ps: tous comme toi je suis sous IE6.Merci d'avance...
il ne marche quasiment pas sous firefox chez moi et pas sur toutes les pages pour IE erf §
Bonjour,félicitation pour ce script.Mais j'ai un petit probleme pour les liens, j'ai crée mon site, mais lors des changement de page, l'adresse ne change pas.exemple l'adresse du site est 'http://www.exemple.fr (index),Je veux ouvrir une autre page de mon site (presentation), mon adresse sera toujours 'http://www.exemple.fr et non 'http://www.exemple.fr/presentation.Dans le language html je tape a href="presentation.htm".Comment faire pour que mes liens marchent avec ton script?je remercie par avanceun novice
Bonjour,Essaie avec zlien[3][i++] = 'http://www.exemple.fr/presentation.html' pour voir.Autrement, montre-nous un exemple pour voir le problème.
Bonsoir,Merci larion pour ton conseil, ca marche mais (et oui il y a toujours un mais)le script ne veut pas me prendre les liens suivants: zlien[3][i++] = 'http://exemple.free.fr/'Je ne comprends pas pourquoi?Avez vous une solution pour faire marcher ce super menu.Merci par avanceun novice qui avance à petits pas
bonsoir,C'est encore moi j'ai reussi a faire fonctionner ton menu, il est super et il abore mon site.J'essaye de comprendre tout ce petit language, et c'est dur.Je voudrais savoir s' il est possible de rajouter un sous/sous menu et si oui comment.merci par avance.
salutpeut on faire en sorte que les sous menus s'ouvrent du cote gauche au lieu du cote droitmerci encore
Bonjour, et d'abord merci pour ce script.Ma question est : est-il possible de rediriger le lien en "mainframe".zlien[0][i++] = 'http://www.monsite.fr/site.htm' ----> mainframemerci de votre réponseet merci encore
Salut, moi aussi je trouve cette source très bien mais mon problème est le suivant :J'ai un site divisé en frames (un à gauche pour le menu vertical et un à droite pour l'affichage des pages sélectionnées grâce au menu). Je souhaite que les sous-menus s'affichent sans tenir compte des frames de manière à avoir le frame de droite le plus grand possible.Pour l'instant, les sous-menus sont cachés par le frame de droite.Est-ce possible ?
bonjour!Je voudrais savoir comment faire pour enlever la transparance des sous-menus voilà!merci!
j'ai la toute derniere version de internet explorer, et ton code ne marche pas du tous avec moi :(
salut,je viens de voir ton code, chapeau moi je suis assez nul, mais j'essaye.Mais j'ai une question, j'ai une page avec deux cadres, le menu se trouve a gauche. J'aimerais que le lien s'ouvre dans le Target de droite, y a t'il un moyen de faire ça?merci d'avance pour votre réponse.Bruno
salut j'ai essayé le code source du menu vertical avec Sous menu il ça marche bien mais j'ai rencontré un probleme, quand je verifie le programme je trouve un probleme de lien avec les pages web de mon site et je vous informe que je n'ai pas encore publié mon site web, est ce que c'est indisponsable de le publier avant la verification des liens des pages web?Je suis tellement besoin de votre aide....Merci beaucoup pour le code source , ça fait longtemp que j'ai cherché à ce code là .MerciMerciiiiiiiiiiiiiiiii
Se souvenir du profil
Mot de passe oublié ? / Activation de compteCréer un compte