Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

MENU HORIZONTAL BASIQUE. CODE SIMPLE ET CLAIR. IDEAL POUR PERSONNALISATION.


Information sur la source

Catégorie :Navigation Classé sous : menu, horizontal Niveau : Débutant Date de création : 08/07/2006 Vu : 17 974

Note :
4,33 / 10 - par 3 personnes
4,33 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (2)
Ajouter un commentaire et/ou une note


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>
 

Commentaires et avis

signaler à un administrateur
Commentaire de macsou01 le 14/07/2007 02:18:52

Excellent, c'est pile ce que je cherchais :) Merci ;)

signaler à un administrateur
Commentaire de belkhayaty le 08/11/2008 18:20:44 2/10

car il ne me marche guere

Ajouter un commentaire

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&#231;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&#233;roulant qui deroule les differents onglets quand la souris passe dessus.Mais, mon probleme c'est que le menu ne se "r&#233;-e Menu vertical et horizontal avec ouverture/fermeture d'un clic [ par neo_tsubasa ] Bonjour, Je suis tr&#233;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 &lt;li&gt; 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 !


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,686 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.