Accueil > > > MENU HORIZONTAL BASIQUE. CODE SIMPLE ET CLAIR. IDEAL POUR PERSONNALISATION.
MENU HORIZONTAL BASIQUE. CODE SIMPLE ET CLAIR. IDEAL POUR PERSONNALISATION.
Information sur la source
Description
J'avais besoin d'un menu du genre nested menu (http://www.dwuser.com/nestedmenu/index.php) mais en version DHTML/JS. (Nested Menu est en flash). Apres avoir cherché sur le net (editeurjavascript, ...) et decouvrant la complexité de ces codes pret-à-servir, j'ai decidé de coder mon propre menu, personnalisable. Voici donc un menu horizontal tres simple, au code tres court et clair, ideal pour la personnalisation, pour servir de base. Pas de design, pas de html, juste un effet, juste du javascript.
Source
- // BlackWizzard's Simple JS Menu
- //
-
- ///////////////////
- // Config
- ///////////////////
-
- var config= new Array()
- config["menu_separator"] = " - ";
- config["submenu_separator"] = " - ";
- config["menu_class"] = "menu";
- config["submenu_class"] = "rate";
-
-
-
- ///////////////////
- // Editable zone
- ///////////////////
- var topMenu= new Array()
-
- var tempSubMenu = new Array();
- tempSubMenu["events"] = "events.html";
- tempSubMenu["by night"] = "night.html";
- topMenu["Vie Etudiante"] = tempSubMenu;
-
- var tempSubMenu = new Array();
- tempSubMenu["Events"] = "events/bde.html";
- tempSubMenu["Photos/Videos"] = "medias/bde.html";
- topMenu["BDE"] = tempSubMenu;
-
-
- ///////////////////
- // menu builder
- ///////////////////
-
- var menu_output = "";
- var item_counter = 0;
- var item_number = 0;
-
- // array.length ne fonctionne pas avec un array à 2 dimension... je ne sais pas pourquoi.
- // donc, calcul de la longueur à la barbare.
- for (title in topMenu) {
- item_number++;
- }
-
-
- for (title in topMenu) {
- item_counter++;
- menu_output += "<a href=\"javascript:return true;\" class=\""+config["menu_class"]+"\" ";
- menu_output += "onMouseOver=\"javascript:bw_show_submenu(topMenu,'"+title+"')\">";
- menu_output += title;
- menu_output += "</a>";
- if (item_counter != item_number) {
- menu_output += config["menu_separator"];
- }
- }
-
-
-
- ///////////////////
- // menu output
- ///////////////////
- function load_bw_menu() {
- document.write(menu_output);
- }
- function bw_show_submenu(array,menu) {
- document.getElementById('bw_submenu').innerHTML = bw_output_submenu(array[menu]);
- }
- function bw_output_submenu(array) {
- var submenu_output = "";
- var item_counter = 0;
- var item_number = 0;
-
- for (title in array) {
- item_number++;
- }
-
-
- for (title in array) {
- item_counter++;
- submenu_output += "<a href=\""+array[title]+"\" class=\""+config["submenu_class"]+"\" >";
- submenu_output += title;
- submenu_output += "</a>";
- if (item_counter != item_number) {
- submenu_output += config["submenu_separator"];
- }
- }
- return submenu_output;
- }
// BlackWizzard's Simple JS Menu
//
///////////////////
// Config
///////////////////
var config= new Array()
config["menu_separator"] = " - ";
config["submenu_separator"] = " - ";
config["menu_class"] = "menu";
config["submenu_class"] = "rate";
///////////////////
// Editable zone
///////////////////
var topMenu= new Array()
var tempSubMenu = new Array();
tempSubMenu["events"] = "events.html";
tempSubMenu["by night"] = "night.html";
topMenu["Vie Etudiante"] = tempSubMenu;
var tempSubMenu = new Array();
tempSubMenu["Events"] = "events/bde.html";
tempSubMenu["Photos/Videos"] = "medias/bde.html";
topMenu["BDE"] = tempSubMenu;
///////////////////
// menu builder
///////////////////
var menu_output = "";
var item_counter = 0;
var item_number = 0;
// array.length ne fonctionne pas avec un array à 2 dimension... je ne sais pas pourquoi.
// donc, calcul de la longueur à la barbare.
for (title in topMenu) {
item_number++;
}
for (title in topMenu) {
item_counter++;
menu_output += "<a href=\"javascript:return true;\" class=\""+config["menu_class"]+"\" ";
menu_output += "onMouseOver=\"javascript:bw_show_submenu(topMenu,'"+title+"')\">";
menu_output += title;
menu_output += "</a>";
if (item_counter != item_number) {
menu_output += config["menu_separator"];
}
}
///////////////////
// menu output
///////////////////
function load_bw_menu() {
document.write(menu_output);
}
function bw_show_submenu(array,menu) {
document.getElementById('bw_submenu').innerHTML = bw_output_submenu(array[menu]);
}
function bw_output_submenu(array) {
var submenu_output = "";
var item_counter = 0;
var item_number = 0;
for (title in array) {
item_number++;
}
for (title in array) {
item_counter++;
submenu_output += "<a href=\""+array[title]+"\" class=\""+config["submenu_class"]+"\" >";
submenu_output += title;
submenu_output += "</a>";
if (item_counter != item_number) {
submenu_output += config["submenu_separator"];
}
}
return submenu_output;
}
Conclusion
exemple d'utilisation: - Mettez le code dans un fichier javascript externe. - Placez le code html suivant dans une page html:
<script language="javascript" src="bwmenu.js"></script> <table> <tr> <td bgcolor="#CCCCCC"> <script>load_bw_menu();</script > </td> </tr> <tr> <td> <div style="margin-left:15px;" ID="bw_submenu"></div> </td> </tr> </table>
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Menu horizontal avec intercalaires [ par FuxY ]
Bonjour,J'aurai besoin de savoir si quelqu'un aurait le code source d'un menu horizontal façon intercalaires, genre comme sur lycos.fr.Merci. &nb
largeur de chaque element d'un menu horizontal en css [ par stopworries ]
Bonjour tlm!Voila g un menu horizontal en css et js qui fonctionne tres bien, le seul probleme, c que dans ma barre de menu, g par exple les titres "f
créer un menu horizontal sur 2 lignes [ par zephou92 ]
je cherche une aide pour créer un menu horizontal sur 2 lignes en javascript (pas de php si c'est possible). merci vincentzephou92
Menu horizontal [ par glumuck ]
Bonjour,Après avoir testé tout plein de scripts pour le menu d'un site sur lequel je travaille, je me tourne vers vous car j'ai besoin d'aide.En fait,
Menu deroulant horizontal [ par flow92220 ]
J'ai donc un menu déroulant qui deroule les differents onglets quand la souris passe dessus.Mais, mon probleme c'est que le menu ne se "ré-e
Menu vertical et horizontal avec ouverture/fermeture d'un clic [ par neo_tsubasa ]
Bonjour, Je suis trés debutant en javascript et je voudrais faire un menu horizontal fixe qui lorsque l'on clique sur une de ces categories ouvr
menu dynamique horizontal [ par jousay ]
Bonjour,J'aimerais créer un menu dynamique horizontal qui fonctionnerait comme le menu windows (file, edit, view,...); c'est à dire comme le menu de p
Menu horizontal retractable [ par kiki117 ]
Bonjour Je suis nouveau chez vous et je me pose beaucoup de question sur le java script j'ai beaucoup surfer sur le net mais je n'y arrive pas beaucou
Chargement de script [ par Straw ]
Bonjour à tous, Je suis en train de concevoir ce site-ci Il possède un menu déroulant horizontal, c'est une suite de <li> et un script ja
Menu horizontal et Javascript [ par Lucky062 ]
Bonjour à tous, Je suis débutant et peut être que la question est stupide, mais je me lance ! Voici un moment que je cherche et je ne trouve pas !
|
Derniers Blogs
PRATIQUE DE SILVERLIGHT PAR ERIC AMBROSIPRATIQUE DE SILVERLIGHT PAR ERIC AMBROSI par MPOWARE
Je viens de finir la lecture du dernier livre d'
Eric Ambrosi
Son livre donne une approche pratique de Silverlight qui sera aussi bien comprise par le développeur que par le designeur.
Tous les aspects du développement RIA sont abordés: animations, 3...
Cliquez pour lire la suite de l'article par MPOWARE APPRENDRE à DéVELOPPER POUR LES MOBILES AVEC LA NOUVELLE GéNéRATION .NETAPPRENDRE à DéVELOPPER POUR LES MOBILES AVEC LA NOUVELLE GéNéRATION .NET par odewit
2 déclinaisons de Silverlight et 2 déclinaisons de Mono permettent dorénavant (ou permettront prochainement) de développer des applications .NET mobiles pour les principales plates-formes du marché :
Silverlight pour Symbian, basé sur Silverlight 2...
Cliquez pour lire la suite de l'article par odewit ZUNE : NOUVELLE VERSION DU ZUNE SOFTWARE - V 4.2ZUNE : NOUVELLE VERSION DU ZUNE SOFTWARE - V 4.2 par ROMELARD Fabrice
Avec la dernière génération du lecteur MP3 de Microsoft, le ZUNE HD, Microsoft a publié une nouvelle version du logiciel pour PC. Ainsi, je me suis décidé à installer celle-ci sur mon Tablet PC ACER, comme toujours le logiciel est donc tél...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice L'INTERFACE NATURELLE DE WINDOWS PHONE 7 SERIESL'INTERFACE NATURELLE DE WINDOWS PHONE 7 SERIES par odewit
La tendance est aux interfaces naturelles (NUI), et le keynote de Bill Buxton au MIX l'a bien souligné.
La charte graphique et ergonomique de Windows Phone 7 a donc été entièrement repensée en vue d'obtenir un maximum d'efficacité sur ce point. En re...
Cliquez pour lire la suite de l'article par odewit
Logiciels
Academy System (10.9.4.0)ACADEMY SYSTEM (10.9.4.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods
|