begin process at 2010 03 17 04:41:59
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Menu & Co

 > MENU ANIMÉ

MENU ANIMÉ


 Information sur la source

Note :
9,26 / 10 - par 27 personnes
9,26 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Menu & Co Niveau :Débutant Date de création :11/06/2003 Date de mise à jour :24/04/2004 16:38:20 Vu / téléchargé :47 927 / 5 086

Auteur : undine

Ecrire un message privé
Commentaire sur cette source (38)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Ce programme gère un menu dont la liste des option se déroule en "temps réel".
Les liens du menu vont s'ouvrir dans une iframe (frame flottante) et ces lien peuvent aussi bien être

dans les option du menu déroulant que dans les rubriques du menu.
Le code est trés dur à lire car je ne l'ai pas beaucoup commenté mais pour contruire le menu il n'y a

pas besoin de connaitre tout le fonctionnement du script, seule les dernières lignes sont

importantes(celles du body en fait et elles sont en plus assez bien commentées).  

Source

  • <html>
  • <head>
  • <SCRIPT LANGAGE="javascript">
  • var t_menu = new Array();
  • var liste_menu = new Array();
  • var extention = ".bmp";
  • function dessus(cell){
  • //cell.bgColor = "#0000FF";
  • }
  • function partir(cell){
  • //cell.bgColor = cell.parentNode.parentNode.parentNode.bgColor;
  • }
  • function reduire(cell){
  • //réduit le menu déroulant si on quitte sur le menu
  • var id_menu = cell.id;
  • t_menu[id_menu].ouvrir = -1;
  • }
  • function developper(cell){
  • //dévellope le menu déroulant si on passe sur le menu
  • var id_menu = cell.id;
  • t_menu[id_menu].ouvrir = 1;
  • if ((t_menu[id_menu].type_menu == 1) || (t_menu[id_menu].type_menu == 2))
  • document.getElementById("basongelet_" + id_menu).style.display = "block";
  • }
  • function reduire2(cell){
  • //réduit le menu déroulant si on quitte sur le menu déroulant
  • var id_menu = cell.id.substring(6, cell.id.length);
  • t_menu[id_menu].ouvrir = -1;
  • }
  • function developper2(cell){
  • //devellope le menu déroulant si on passe sur le menu déroulant
  • var id_menu = cell.id.substring(6, cell.id.length);
  • t_menu[id_menu].ouvrir = 1;
  • // document.write("<TABLE WIDTH='100%' HEiGHT='100%'><TR><TD>" + t_menu[id_menu].ouvrir + "</TD></TR></TABLE>");
  • if ((t_menu[id_menu].type_menu == 1) || (t_menu[id_menu].type_menu == 2))
  • document.getElementById("basongelet_" + id_menu).style.display = "block";
  • }
  • function reduire3(cell){
  • //réduit le menu déroulant si on quitte sur l'ombre sous le menu
  • var id_menu = cell.id.substring(11, cell.id.length);
  • t_menu[id_menu].ouvrir = -1;
  • }
  • function developper3(cell){
  • //devellope le menu déroulant si on passe sur l'ombre sous le menu
  • var id_menu = cell.id.substring(11, cell.id.length);
  • t_menu[id_menu].ouvrir = 1;
  • if ((t_menu[id_menu].type_menu == 1) || (t_menu[id_menu].type_menu == 2))
  • document.getElementById("basongelet_" + id_menu).style.display = "block";
  • }
  • function affmenu(){
  • for (a=0 ; a<liste_menu.length ; a++)
  • {
  • var idmenu = liste_menu[a];
  • //si on ouvre le menu et qu'il n'est pas complètement déroulé
  • //ou si on l'enroule et qu'il n'est pas complètement enroulé alors on fait bouger le menu déroulant
  • if ((t_menu[idmenu].ouvrir == 1)&&(t_menu[idmenu].nbrvar < t_menu[idmenu].nbrvarmax))
  • {
  • t_menu[idmenu].ypos_menu += t_menu[idmenu].vary;
  • t_menu[idmenu].xpos_menu += t_menu[idmenu].varx;
  • document.getElementById(idmenu).style.left = t_menu[idmenu].xpos_menu + "px";
  • document.getElementById(idmenu).style.top = t_menu[idmenu].ypos_menu + "px";
  • t_menu[idmenu].nbrvar += 1;
  • }
  • if ((t_menu[idmenu].ouvrir == -1)&&(t_menu[idmenu].nbrvar > 0))
  • {
  • t_menu[idmenu].ypos_menu -= t_menu[idmenu].vary;
  • t_menu[idmenu].xpos_menu -= t_menu[idmenu].varx;
  • document.getElementById(idmenu).style.top = t_menu[idmenu].ypos_menu + "px";
  • document.getElementById(idmenu).style.left = t_menu[idmenu].xpos_menu + "px";
  • t_menu[idmenu].nbrvar -= 1;
  • }
  • if ((t_menu[idmenu].nbrvar >= t_menu[idmenu].nbrvarmax)&&(t_menu[idmenu].ouvrir == 1))
  • {//completement développé
  • t_menu[idmenu].ouvrir = 0;
  • t_menu[idmenu].nbrvar = t_menu[idmenu].nbrvarmax;
  • }
  • if ((t_menu[idmenu].nbrvar <= 0)&&(t_menu[idmenu].ouvrir == -1))
  • {//complètement réduit
  • t_menu[idmenu].ouvrir = 0;
  • t_menu[idmenu].nbrvar = 0;
  • document.getElementById("basongelet_" + idmenu).style.display = "none";
  • }
  • }
  • }
  • function menu(nom, larg, haut, x, y, type_menu, larg_m, haut_m, x_m, y_m, varx, vary, nbrvmax, url){
  • var strtemp;
  • if ((type_menu == 1)||(type_menu == 3))
  • {// si le menu à créer se déroule vers le bas
  • //crée le menu
  • strtemp = '<DIV id="princ_' + nom + '" STYLE="position: absolute; left:' + x + '; top:' + y + '; width:' + larg + '; height:' + haut + '; z-index:4" onmouseover="developper2(this);" onmouseout="reduire2(this);">';;
  • strtemp += '<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" id="tab_princ' + nom + '" width="100%" height="100%">';
  • strtemp += '<tr><td width="10" background="bord_haut_7'+extention+'">&nbsp;</td>';
  • strtemp += '<TD bgcolor="#8BBF2A" align="center"><b>';
  • strtemp += '<font face="Arial" size="2" color="#961C29">';
  • if (url == "")
  • strtemp += nom;
  • else
  • strtemp += '<a href="' + url + '" target="main_win" style="text-decoration: none">' + nom + '</a>';
  • strtemp += '</font></b></TD>';
  • strtemp += '<td width="10" background="bord_haut_3'+extention+'">&nbsp;</td></tr><tr>';
  • strtemp += '<td background="bord_haut_6'+extention+'"><font size="1">&nbsp;</font></td>';
  • strtemp += '<td background="bord_haut_5'+extention+'" height="17"><font size="1">&nbsp;</font></td>'
  • strtemp += '<td background="bord_haut_4'+extention+'"><font size="1">&nbsp;</font></td></tr></table>';
  • strtemp += '<TR><TD></TD></TR></TABLE></DIV>'
  • document.write(strtemp);
  • //crée le menu déroulant
  • strtemp = '<DIV id="' + nom + '" STYLE="position: absolute; left:' + x_m + 'px; top:' + y_m + 'px; width:' + larg_m + '; height:' + haut_m + '; z-index:3" onmouseover="developper(this);" onmouseout="reduire(this);">';
  • strtemp += '<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" id="tab_' + nom + '" width="100%" height="100%">';
  • strtemp += '<tr height="100%"><td background="onguelet_haut_7'+extention+'" width="16"></td><td bgcolor="#8BBF2A"></td>';
  • strtemp += '<td background="onguelet_haut_3'+extention+'" width="15"></td></tr>';
  • for (a=1 ; a<=menu.arguments.length-14 ; a=a+2)
  • {
  • strtemp += '<tr ><td background="onguelet_haut_7'+extention+'" width="16"></td>';
  • strtemp += '<td bgcolor="#8BBF2A" align="center"><b><font face="Arial" size="2" color="#961C29">'
  • strtemp += '<a href="' + menu.arguments[13 + a + 1] + '" target="main_win" style="text-decoration: none">' + menu.arguments[13 + a] + '</a>';
  • strtemp += '</font></b></td><td background="onguelet_haut_3'+extention+'" width="15"></td></tr>';
  • }
  • strtemp += '<tr><td background="onguelet_haut_6'+extention+'"><font size="1">&nbsp;</font></td>';
  • strtemp += '<td background="onguelet_haut_5'+extention+'" height="17"><font size="1">&nbsp;</font></td>';
  • strtemp += '<td background="onguelet_haut_4'+extention+'"><font size="1">&nbsp;</font></td></tr></table>';
  • strtemp += '<TR><TD></TD></TR></TABLE></DIV>'
  • document.write(strtemp);
  • //crée l'ombre sous le menu
  • strtemp = '<DIV id="basongelet_' + nom + '" style="position: absolute; left: ' + (x_m+1) + 'px; top: ' + (y+haut-7)+ '; width:' + (larg_m-3) + 'px; height:7px;z-index: 5;display: none;" onmouseover="developper3(this);" onmouseout="reduire3(this);">';
  • strtemp += '<TABLE border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" width="100%" height="100%">';
  • // strtemp = '<TABLE border="0" cellpadding="0" cellspacing="0" style="position: absolute; left: ' + (x_m+1) + 'px; top: ' + (y+haut-7)+ '; border-collapse: collapse; z-index: 5;display: none" width="' + (larg_m-3) + 'px" id="basongelet_' + nom + '" height="7px" onmouseover="developper3(this);" onmouseout="reduire3(this);">';
  • strtemp += '<tr><td width="12" background="ombre_onguelet_haut_1'+extention+'">';
  • strtemp += '<span style="font-size: 2pt">&nbsp;</span></td>';
  • strtemp += '<td background="ombre_onguelet_haut_2'+extention+'"><span style="font-size: 2pt">&nbsp;</span></td>';
  • strtemp += '<td width="9" background="ombre_onguelet_haut_3'+extention+'">';
  • strtemp += '<span style="font-size: 2pt">&nbsp;</span></td></tr></TABLE></DIV>';
  • document.write(strtemp);
  • }
  • else
  • if ((type_menu == 2)||(type_menu == 4))
  • {//si le menu à créer se déroule vers la gauche
  • //crée le menu
  • strtemp = '<DIV id="princ_' + nom + '" STYLE="position: absolute; left:' + x + '; top:' + y + '; width:' + larg + '; height:' + haut + '; z-index:4" onmouseover="developper2(this);" onmouseout="reduire2(this);">';
  • strtemp += '<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" id="tab_princ' + nom + '" width="100%" height="100%">';
  • strtemp += '<tr><td background="bord_gauche_1'+extention+'"><span style="font-size: 1">&nbsp;</span></td>';
  • strtemp += '<td width="13" height="4" background="bord_gauche_2'+extention+'"><span style="font-size: 1">&nbsp;</span></td></tr>';
  • strtemp += '<tr><td bgcolor="#8BBF2A" align="center" height="100%"><b>';
  • strtemp += '<font face="Arial" size="2" color="#961C29">';
  • if (url == "")
  • strtemp += nom;
  • else
  • strtemp += '<a href="' + url + '" target="main_win" style="text-decoration: none">' + nom + '</a>';
  • strtemp += '</font></b></td>';
  • strtemp += '<td width="13" background="bord_gauche_3'+extention+'">&nbsp;</td></tr>';
  • strtemp += '<tr><td background="bord_gauche_5'+extention+'"><span style="font-size: 1">&nbsp;</span></td>';
  • strtemp += '<td background="bord_gauche_4'+extention+'" width="13" height="4"><span style="font-size: 1">&nbsp;</span></td></tr></table>';
  • strtemp += '<TR><TD></TD></TR></TABLE></DIV>'
  • document.write(strtemp);
  • //crée le menu déroulant
  • strtemp = '<DIV id="' + nom + '" STYLE="position: absolute; left: ' + x_m + 'px; top: ' + y_m + 'px; width:' + larg_m + '; height:' + (haut_m+5) + '; z-index:3" onmouseover="developper(this);" onmouseout="reduire(this);">';
  • strtemp += '<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" id="tab_' + nom + '" width="100%" height="100%">';
  • strtemp += '<tr><td background="onguelet_gauche_1'+extention+'"></td>';
  • strtemp += '<td background="onguelet_gauche_2'+extention+'" height="14" width="20"></td></tr>';
  • for (a=1 ; a<=menu.arguments.length-14 ; a=a+2)
  • {
  • strtemp += '<td bgcolor="#8BBF2A" align="right"><b><font face="Arial" size="2" color="#961C29">'
  • strtemp += '<a href="' + menu.arguments[13 + a + 1] + '" target="main_win" style="text-decoration: none">' + menu.arguments[13 + a] + '</a>';
  • strtemp += '</font></b></td><td background="onguelet_gauche_3'+extention+'"></td></tr>';
  • }
  • strtemp += '<td background="onguelet_gauche_5'+extention+'"><font size="1">&nbsp;</font></td>';
  • strtemp += '<td background="onguelet_gauche_4'+extention+'" height="13"><font size="1">&nbsp;</font></td></tr></table>';
  • strtemp += '<TR><TD></TD></TR></TABLE></DIV>'
  • document.write(strtemp);
  • //crée l'ombre sous le menu
  • strtemp = '<DIV id="basongelet_' + nom + '" style="position: absolute; left: ' + (x+larg-7) + 'px; top: ' + (y_m+1)+ '; width:7px; height:' + (haut_m+4) + 'px;z-index: 5;display: none;" onmouseover="developper3(this);" onmouseout="reduire3(this);">';
  • strtemp += '<TABLE border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" width="100%" height="100%">';
  • // strtemp = '<TABLE border="0" cellpadding="0" cellspacing="0" style="position: absolute; left: ' + (x+larg-7) + 'px; top: ' + (y_m+1)+ '; border-collapse: collapse; z-index: 5;display: none" width="7" id="basongelet_' + nom + '" height="' + (haut_m+4) + '" onmouseover="developper3(this);" onmouseout="reduire3(this);">';
  • strtemp += '<tr><td height="11" background="ombre_onguelet_gauche_1'+extention+'">';
  • strtemp += '<span style="font-size: 2pt">&nbsp;</span></td></tr>';
  • strtemp += '<tr><td background="ombre_onguelet_gauche_2'+extention+'"><span style="font-size: 2pt">&nbsp;</span></td></tr>';
  • strtemp += '<tr><td height="11" background="ombre_onguelet_gauche_3'+extention+'">';
  • strtemp += '<span style="font-size: 2pt">&nbsp;</span></td></tr></TABLE></DIV>';
  • document.write(strtemp);
  • }
  • this.nom = nom;
  • this.largeur = larg;
  • this.hauteur = haut;
  • this.xpos = x;
  • this.ypos = y;
  • this.type_menu = type_menu;
  • this.largeur_menu = larg_m;
  • this.hauteur_menu = haut_m;
  • this.xpos_menu = x_m;
  • this.ypos_menu = y_m;
  • this.varx = varx;
  • this.vary = vary;
  • this.nbrvar = 0;
  • this.nbrvarmax = nbrvmax;
  • this.ouvrir = 0;
  • liste_menu.push(nom);
  • }
  • function show_props(obj,obj_name){
  • var result="";
  • for(var i in obj)
  • result+= obj_name+"."+i+" = "+
  • obj[i]+"\n";
  • return result;
  • }
  • </SCRIPT>
  • </head>
  • <body link="#961C29" vlink="#961C29" alink="#961C29">
  • <iframe frameborder="no" scrolling="no" name="main_win" src="" style="position: absolute; top: 60px; left: 105px;width: 90%; height: 90%; z-index: 0">
  • fenetre flottante<BR>sgfdsr<BR>greg<BR></iframe>
  • <SCRIPT LANGAGE="javascript">
  • /*Le menu est composé de rubriques comportant ou non un menu déroulant*/
  • /*
  • Créer une rubrique se fait en 2 lignes :
  • 1: nomrubrique = new menu ("label de la rubrique", largeur, hauteur, ...);
  • 2: t_menu["label de la rubrique"] = nomrubrique;
  • description des arguments passés pour créer un menu
  • - nom : nom de la rubrique(texte qui sera affiché à l' écran)
  • - larg, haut : largeur et hauteur du menu
  • - x, y : position du menu à l'écran
  • - type_menu : 1=rubrique dont le menu qui se déroule horizontalement, 2=pareil mais verticalement,
  • 3=rubrique horizontale sans option, 4=pareil mais verticale.
  • - largm, hautm : dimentions du menu déroulant
  • - x,m, ym : position du menu déroulant lorsqu'il est enroulé
  • - varx, vary : variation en pixel du menu lorque celui-ci se déroule ou s'enroule (plus ces valeurs sont grandes et plus le menu se déroulera vite
  • - nbrvar : nombre d'étapes pour que le menu se déroule/s'enroule totalement
  • - urlmenu : indique quelle page charger lorsqu'on clique sur le lien (mettre une chaine vide si on ne veut pas que le menu soit un lien hypertexte
  • - optsmenu : marche par couple : le premier élément représente ce qui sera affiché à l'écran,
  • le deuxième est le lien qui sera appelé lorsqu'on clique sur l'option
  • - Remarque : les élements impairs de optsmenu correspondent au contenu des options et les éléments pair
  • correspondent aux éléments aux liens des options
  • */
  • //arggument de l'objet menu : nom larg haut x y t_menu largm hautm xm ym varx vary nbrvar urlmenu <--------------------------- optsmenu ------------------------------------------------------------------------------------------------------------------>
  • menu1 = new menu("Menu 1" , 110, 49 , 112, 0, 1 , 110, 90 , 112, -40 , 0 , 12, 7 , "" , "option 1", "page essai 1.htm", "option 2", "page essai 2.htm", "option 3", "page essai 3.htm", "option 4", "page essai 4.htm");
  • t_menu["Menu 1"] = menu1;
  • menu2 = new menu("deuxième menu" , 180, 49 , 222, 0, 1 , 180, 125 , 222, -76 , 0 , 12, 8 , "page essai 4.htm" , "première option", "page essai 5.htm", "deuxième option", "page essai 1.htm", "oprtion 3", "page essai 2.htm", "option 4", "page essai 3.htm", "option 5", "page essai 5.htm");
  • t_menu["deuxième menu"] = menu2;
  • menu3 = new menu("troisième menu" , 110, 49 , 402, 0, 1 , 110, 105 , 402, -56 , 0 , 12, 7 , "" , "option 3-1", "page essai 1.htm", "option 3-2", "page essai 2.htm", "option 3-3", "page essai 3.htm", "option 3-4", "page essai 4.htm");
  • t_menu["troisième menu"] = menu3;
  • menu4 = new menu("menu sans option" , 110, 49 , 512, 0, 3 , 110, 10 , 512, -150, 0 , 12, 8 , "page essai 4.htm");
  • t_menu["menu sans option"] = menu4;
  • menu5 = new menu("menu sans option 2" , 110, 49 , 622, 0, 3 , 110, 10 , 622, -150, 0 , 12, 8 , "page essai 3.htm");
  • t_menu["menu sans option 2"] = menu4;
  • menu4 = new menu("Premier menu vertical" , 99, 80 , 0 , 65, 2 , 100, 70 , 0 , 65 , 14 , 0, 7 , "page essai 1.htm" , "option ?", "page essai 3.htm", "option ??", "page essai 2.htm", "option ???", "page essai 4.htm");
  • t_menu["Premier menu vertical"] = menu4;
  • menu5 = new menu("Rubrique sans option" , 99, 60 , 0 ,145, 4 , 10 , 10 , -50, 135, 14 , 0, 7 , "page essai 3.htm");
  • t_menu["Rubrique sans option"] = menu5;
  • menu6 = new menu("deuxième menu vertical avec options", 99, 110, 0 ,205, 2 , 100, 90 , 0 , 205, 14 , 0, 7 , "" , "option :-)", "page essai 5.htm", "option :-(", "page essai 2.htm", "option ;-)", "page essai 3.htm");
  • t_menu["deuxième menu vertical avec options"] = menu6;
  • var clkmenu1= setInterval('affmenu();', 10);
  • </SCRIPT>
  • <!--
  • --------------Les images et les tableaux qui suivent ne servent qu'à la finission du menu : se sont---------
  • -------------- les images qui sont en haut à gauche, l'arrondi à la fin du menu horizontal ---------
  • -------------- et l'arrondi à la fin du menu vertical ---------
  • -->
  • <!-- ---- Image du coin supérieur gauche ----
  • -->
  • <img border="0" style="position: absolute; left: 0px; top: 0px; z-index: 4" src="bord_haut_gauche.bmp" width="112" height="65">
  • <!-- ---- Image située à la fin du menu horizontal ----
  • -->
  • <table border="0" cellpadding="0" cellspacing="0" style="position: absolute; left: 732px; top: 0px; border-collapse: collapse; z-index: 4" bordercolor="#111111" width=26 height=49>
  • <tr>
  • <td background="bord_haut_fin_1.bmp">&nbsp;</td>
  • </tr>
  • <tr>
  • <td height=23 background="bord_haut_fin_2.bmp">&nbsp;</td>
  • </tr>
  • </table>
  • <!-- ---- Image située à la fin du menu vertical ----
  • -->
  • <table border="0" cellpadding="0" cellspacing="0" style="position: absolute; left: 0px; top: 315px; border-collapse: collapse; z-index: 4" bordercolor="#111111" width=99 height=27>
  • <tr>
  • <td background="bord_gauche_fin_1.bmp">&nbsp;</td>
  • <td width=23 background="bord_gauche_fin_2.bmp">&nbsp;</td>
  • </tr>
  • </table>
  • </body>
  • </html>
<html>
<head>
	<SCRIPT LANGAGE="javascript">
		var t_menu = new Array();
		var liste_menu = new Array();
		var extention = ".bmp";
		
		function dessus(cell){
			//cell.bgColor = "#0000FF";
		}
		function partir(cell){
			//cell.bgColor = cell.parentNode.parentNode.parentNode.bgColor;
		}
		
		function reduire(cell){
		//réduit le menu déroulant si on quitte sur le menu
			var id_menu = cell.id;
			t_menu[id_menu].ouvrir = -1;
		}
		
		function developper(cell){
		//dévellope le menu déroulant si on passe sur le menu
			var id_menu = cell.id;
			t_menu[id_menu].ouvrir = 1;
			if  ((t_menu[id_menu].type_menu == 1) || (t_menu[id_menu].type_menu == 2))
				document.getElementById("basongelet_" + id_menu).style.display = "block";
		}
		
		function reduire2(cell){
		//réduit le menu déroulant si on quitte sur le menu déroulant
			var id_menu = cell.id.substring(6, cell.id.length);
			t_menu[id_menu].ouvrir = -1;
		}
		
		function developper2(cell){
		//devellope le menu déroulant si on passe sur le menu déroulant
			var id_menu = cell.id.substring(6, cell.id.length);
			t_menu[id_menu].ouvrir = 1;
 //     document.write("<TABLE WIDTH='100%' HEiGHT='100%'><TR><TD>" + t_menu[id_menu].ouvrir + "</TD></TR></TABLE>");
			if  ((t_menu[id_menu].type_menu == 1) || (t_menu[id_menu].type_menu == 2))
				document.getElementById("basongelet_" + id_menu).style.display = "block";
		}
		
		function reduire3(cell){
		//réduit le menu déroulant si on quitte sur l'ombre sous le menu
			var id_menu = cell.id.substring(11, cell.id.length);
			t_menu[id_menu].ouvrir = -1;
		}
		
		function developper3(cell){
		//devellope le menu déroulant si on passe sur l'ombre sous le menu
			var id_menu = cell.id.substring(11, cell.id.length);
			t_menu[id_menu].ouvrir = 1;
			if  ((t_menu[id_menu].type_menu == 1) || (t_menu[id_menu].type_menu == 2))
				document.getElementById("basongelet_" + id_menu).style.display = "block";
		}
		
		function affmenu(){
		
		for (a=0 ; a<liste_menu.length ; a++)
		{
			var idmenu = liste_menu[a];
			//si on ouvre le menu et qu'il n'est pas complètement déroulé
			//ou si on l'enroule et qu'il n'est pas complètement enroulé alors on fait bouger le menu déroulant
			if ((t_menu[idmenu].ouvrir == 1)&&(t_menu[idmenu].nbrvar < t_menu[idmenu].nbrvarmax))
			{
	                        t_menu[idmenu].ypos_menu += t_menu[idmenu].vary;
	                        t_menu[idmenu].xpos_menu += t_menu[idmenu].varx;
				document.getElementById(idmenu).style.left = t_menu[idmenu].xpos_menu + "px";
				document.getElementById(idmenu).style.top =  t_menu[idmenu].ypos_menu + "px";
				t_menu[idmenu].nbrvar += 1;
			}
			if ((t_menu[idmenu].ouvrir == -1)&&(t_menu[idmenu].nbrvar > 0))
			{
	                        t_menu[idmenu].ypos_menu -= t_menu[idmenu].vary;
	                        t_menu[idmenu].xpos_menu -= t_menu[idmenu].varx;
				document.getElementById(idmenu).style.top = t_menu[idmenu].ypos_menu + "px";
				document.getElementById(idmenu).style.left = t_menu[idmenu].xpos_menu + "px";
				t_menu[idmenu].nbrvar -= 1;
			}
			if ((t_menu[idmenu].nbrvar >= t_menu[idmenu].nbrvarmax)&&(t_menu[idmenu].ouvrir == 1))
			{//completement développé
				t_menu[idmenu].ouvrir = 0;
				t_menu[idmenu].nbrvar = t_menu[idmenu].nbrvarmax;
			}
			if ((t_menu[idmenu].nbrvar <= 0)&&(t_menu[idmenu].ouvrir == -1))
			{//complètement réduit
				t_menu[idmenu].ouvrir = 0;
				t_menu[idmenu].nbrvar = 0;
				document.getElementById("basongelet_" + idmenu).style.display = "none";
			}
		}
		}
		
		
		
		
		
		function menu(nom, larg, haut, x, y, type_menu, larg_m, haut_m, x_m, y_m, varx, vary, nbrvmax, url){
			var strtemp;
    					
    		if ((type_menu == 1)||(type_menu == 3))
			{// si le menu à créer se déroule vers le bas
      			//crée le menu
      			strtemp = '<DIV id="princ_' + nom + '" STYLE="position: absolute; left:' + x + '; top:' + y + '; width:' + larg + '; height:' + haut + '; z-index:4" onmouseover="developper2(this);" onmouseout="reduire2(this);">';;
				strtemp += '<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" id="tab_princ' + nom + '" width="100%" height="100%">';
				strtemp += '<tr><td width="10" background="bord_haut_7'+extention+'">&nbsp;</td>';
        		strtemp += '<TD bgcolor="#8BBF2A" align="center"><b>';
        		strtemp += '<font face="Arial" size="2" color="#961C29">';
        		if (url == "")
        			strtemp += nom;
        		else
        			strtemp += '<a href="' + url + '" target="main_win" style="text-decoration: none">' + nom + '</a>';
        		strtemp += '</font></b></TD>';
        		strtemp += '<td width="10" background="bord_haut_3'+extention+'">&nbsp;</td></tr><tr>';
        		strtemp += '<td background="bord_haut_6'+extention+'"><font size="1">&nbsp;</font></td>';
        		strtemp += '<td background="bord_haut_5'+extention+'" height="17"><font size="1">&nbsp;</font></td>'
        		strtemp += '<td background="bord_haut_4'+extention+'"><font size="1">&nbsp;</font></td></tr></table>';
    			strtemp += '<TR><TD></TD></TR></TABLE></DIV>'
    			document.write(strtemp);
    			
				//crée le menu déroulant
				strtemp = '<DIV id="' + nom + '" STYLE="position: absolute; left:' + x_m + 'px; top:' + y_m + 'px; width:' + larg_m + '; height:' + haut_m + '; z-index:3" onmouseover="developper(this);" onmouseout="reduire(this);">';
				strtemp += '<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" id="tab_' + nom + '" width="100%" height="100%">';
				strtemp += '<tr height="100%"><td background="onguelet_haut_7'+extention+'" width="16"></td><td bgcolor="#8BBF2A"></td>';
				strtemp += '<td  background="onguelet_haut_3'+extention+'" width="15"></td></tr>';
				for (a=1 ; a<=menu.arguments.length-14 ; a=a+2)
				{
					strtemp += '<tr ><td background="onguelet_haut_7'+extention+'" width="16"></td>';
					strtemp += '<td bgcolor="#8BBF2A" align="center"><b><font face="Arial" size="2" color="#961C29">'
					strtemp += '<a href="' + menu.arguments[13 + a + 1] + '" target="main_win" style="text-decoration: none">' + menu.arguments[13 + a] + '</a>';
					strtemp += '</font></b></td><td background="onguelet_haut_3'+extention+'" width="15"></td></tr>';
				}
				strtemp += '<tr><td background="onguelet_haut_6'+extention+'"><font size="1">&nbsp;</font></td>';
				strtemp += '<td background="onguelet_haut_5'+extention+'" height="17"><font size="1">&nbsp;</font></td>';
      			strtemp += '<td background="onguelet_haut_4'+extention+'"><font size="1">&nbsp;</font></td></tr></table>';
      			strtemp += '<TR><TD></TD></TR></TABLE></DIV>'
      			document.write(strtemp);
    			
    			//crée l'ombre sous le menu
                        strtemp = '<DIV id="basongelet_' + nom + '" style="position: absolute; left: ' + (x_m+1) + 'px; top: ' + (y+haut-7)+ '; width:' + (larg_m-3) + 'px; height:7px;z-index: 5;display: none;" onmouseover="developper3(this);" onmouseout="reduire3(this);">';
strtemp += '<TABLE  border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" width="100%" height="100%">';

    	//		strtemp = '<TABLE border="0" cellpadding="0" cellspacing="0" style="position: absolute; left: ' + (x_m+1) + 'px; top: ' + (y+haut-7)+ '; border-collapse: collapse; z-index: 5;display: none" width="' + (larg_m-3) + 'px" id="basongelet_' + nom + '" height="7px" onmouseover="developper3(this);" onmouseout="reduire3(this);">';
				strtemp += '<tr><td width="12" background="ombre_onguelet_haut_1'+extention+'">';
				strtemp += '<span style="font-size: 2pt">&nbsp;</span></td>';
				strtemp += '<td background="ombre_onguelet_haut_2'+extention+'"><span style="font-size: 2pt">&nbsp;</span></td>';
				strtemp += '<td width="9" background="ombre_onguelet_haut_3'+extention+'">';
				strtemp += '<span style="font-size: 2pt">&nbsp;</span></td></tr></TABLE></DIV>';
    			document.write(strtemp);

			}
			else
			if ((type_menu == 2)||(type_menu == 4))
			{//si le menu à créer se déroule vers la gauche
      		//crée le menu
      			strtemp = '<DIV id="princ_' + nom + '" STYLE="position: absolute; left:' + x + '; top:' + y + '; width:' + larg + '; height:' + haut + '; z-index:4" onmouseover="developper2(this);" onmouseout="reduire2(this);">';
				strtemp += '<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" id="tab_princ' + nom + '" width="100%" height="100%">';
				strtemp += '<tr><td background="bord_gauche_1'+extention+'"><span style="font-size: 1">&nbsp;</span></td>';
				strtemp += '<td width="13" height="4" background="bord_gauche_2'+extention+'"><span style="font-size: 1">&nbsp;</span></td></tr>';
        		strtemp += '<tr><td bgcolor="#8BBF2A" align="center" height="100%"><b>';
        		strtemp += '<font face="Arial" size="2" color="#961C29">';
        		if (url == "")
        			strtemp += nom;
        		else
        			strtemp += '<a href="' + url + '" target="main_win" style="text-decoration: none">' + nom + '</a>';
			strtemp += '</font></b></td>';
        		strtemp += '<td width="13" background="bord_gauche_3'+extention+'">&nbsp;</td></tr>';
        		strtemp += '<tr><td background="bord_gauche_5'+extention+'"><span style="font-size: 1">&nbsp;</span></td>';
        		strtemp += '<td background="bord_gauche_4'+extention+'" width="13" height="4"><span style="font-size: 1">&nbsp;</span></td></tr></table>';
    			strtemp += '<TR><TD></TD></TR></TABLE></DIV>'
    			document.write(strtemp);
    			
				//crée le menu déroulant
				strtemp = '<DIV id="' + nom + '" STYLE="position: absolute; left: ' + x_m + 'px; top: ' + y_m + 'px; width:' + larg_m + '; height:' + (haut_m+5) + '; z-index:3" onmouseover="developper(this);" onmouseout="reduire(this);">';
				strtemp += '<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" id="tab_' + nom + '" width="100%" height="100%">';
				strtemp += '<tr><td background="onguelet_gauche_1'+extention+'"></td>';
				strtemp += '<td background="onguelet_gauche_2'+extention+'" height="14" width="20"></td></tr>';
				for (a=1 ; a<=menu.arguments.length-14 ; a=a+2)
				{
					strtemp += '<td bgcolor="#8BBF2A" align="right"><b><font face="Arial" size="2" color="#961C29">'
					strtemp += '<a href="' + menu.arguments[13 + a + 1] + '" target="main_win" style="text-decoration: none">' + menu.arguments[13 + a] + '</a>';
					strtemp += '</font></b></td><td background="onguelet_gauche_3'+extention+'"></td></tr>';
				}
				strtemp += '<td background="onguelet_gauche_5'+extention+'"><font size="1">&nbsp;</font></td>';
				strtemp += '<td background="onguelet_gauche_4'+extention+'" height="13"><font size="1">&nbsp;</font></td></tr></table>';
      			strtemp += '<TR><TD></TD></TR></TABLE></DIV>'
      			document.write(strtemp);
    			
    			//crée l'ombre sous le menu
                        strtemp = '<DIV id="basongelet_' + nom + '" style="position: absolute; left: ' +  (x+larg-7) + 'px; top: ' + (y_m+1)+ '; width:7px; height:' + (haut_m+4) + 'px;z-index: 5;display: none;" onmouseover="developper3(this);" onmouseout="reduire3(this);">';
strtemp += '<TABLE  border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" width="100%" height="100%">';

    		//	strtemp = '<TABLE border="0" cellpadding="0" cellspacing="0" style="position: absolute; left: ' + (x+larg-7) + 'px; top: ' + (y_m+1)+ '; border-collapse: collapse; z-index: 5;display: none" width="7" id="basongelet_' + nom + '" height="' + (haut_m+4) + '" onmouseover="developper3(this);" onmouseout="reduire3(this);">';
				strtemp += '<tr><td height="11" background="ombre_onguelet_gauche_1'+extention+'">';
				strtemp += '<span style="font-size: 2pt">&nbsp;</span></td></tr>';
				strtemp += '<tr><td background="ombre_onguelet_gauche_2'+extention+'"><span style="font-size: 2pt">&nbsp;</span></td></tr>';
				strtemp += '<tr><td height="11" background="ombre_onguelet_gauche_3'+extention+'">';
				strtemp += '<span style="font-size: 2pt">&nbsp;</span></td></tr></TABLE></DIV>';
    			document.write(strtemp);
			}
			
			this.nom = nom;
			this.largeur = larg;
			this.hauteur = haut;
			this.xpos = x;
			this.ypos = y;
			this.type_menu = type_menu;
			this.largeur_menu = larg_m;
			this.hauteur_menu = haut_m;
			this.xpos_menu = x_m;
			this.ypos_menu = y_m;
			this.varx = varx;
			this.vary = vary;
			this.nbrvar = 0;
			this.nbrvarmax = nbrvmax;
			this.ouvrir = 0;
			
			liste_menu.push(nom);

		}
function show_props(obj,obj_name){
  var result="";
  for(var i in obj)
    result+= obj_name+"."+i+" = "+
             obj[i]+"\n";
  return result;
}
	</SCRIPT>
</head>

<body link="#961C29" vlink="#961C29" alink="#961C29">
	<iframe frameborder="no" scrolling="no" name="main_win" src="" style="position: absolute; top: 60px; left: 105px;width: 90%; height: 90%; z-index: 0">
    		fenetre flottante<BR>sgfdsr<BR>greg<BR></iframe>

	<SCRIPT LANGAGE="javascript">
	/*Le menu est composé de rubriques comportant ou non un menu déroulant*/
	/*
	  Créer une rubrique se fait en 2 lignes :
			1: nomrubrique = new menu ("label de la rubrique", largeur, hauteur, ...);
			2: t_menu["label de la rubrique"] = nomrubrique;


	  description des arguments passés pour créer un menu
		- nom : nom de la rubrique(texte qui sera affiché à l' écran)
		- larg, haut : largeur et hauteur du menu
		- x, y : position du menu à l'écran
		- type_menu : 1=rubrique dont le menu qui se déroule horizontalement, 2=pareil mais verticalement,
					  3=rubrique horizontale sans option, 4=pareil mais verticale.
		- largm, hautm : dimentions du menu déroulant
		- x,m, ym : position du menu déroulant lorsqu'il est enroulé
		- varx, vary : variation en pixel du menu lorque celui-ci se déroule ou s'enroule (plus ces valeurs sont grandes et plus le menu se déroulera vite
		- nbrvar : nombre d'étapes pour que le menu se déroule/s'enroule totalement
		- urlmenu : indique quelle page charger lorsqu'on clique sur le lien (mettre une chaine vide si on ne veut pas que le menu soit un lien hypertexte
		- optsmenu : marche par couple : le premier élément représente ce qui sera affiché à l'écran,
					 le deuxième est le lien qui sera appelé lorsqu'on clique sur l'option
				- Remarque : les élements impairs de optsmenu correspondent au contenu des options et les éléments pair
				  correspondent aux éléments aux liens des options
	*/
	//arggument de l'objet menu :               nom             larg  haut  x    y  t_menu  largm hautm  xm    ym   varx  vary  nbrvar     urlmenu           <---------------------------  optsmenu ------------------------------------------------------------------------------------------------------------------>

		menu1 = new menu("Menu 1"                             , 110,  49 , 112,  0,   1   ,  110,  90  , 112, -40 ,  0  ,  12,    7   ,         ""         , "option 1", "page essai 1.htm", "option 2", "page essai 2.htm", "option 3", "page essai 3.htm", "option 4", "page essai 4.htm");
		t_menu["Menu 1"] = menu1;
		
		menu2 = new menu("deuxième menu"                      , 180,  49 , 222,  0,   1   ,  180,  125 , 222, -76 ,  0  ,  12,    8   , "page essai 4.htm" , "première option", "page essai 5.htm", "deuxième option", "page essai 1.htm", "oprtion 3", "page essai 2.htm", "option 4", "page essai 3.htm", "option 5", "page essai 5.htm");
		t_menu["deuxième menu"] = menu2;
		
		menu3 = new menu("troisième menu"                     , 110,  49 , 402,  0,   1   ,  110,  105 , 402, -56 ,  0  ,  12,    7   ,        ""          , "option 3-1", "page essai 1.htm", "option 3-2", "page essai 2.htm", "option 3-3", "page essai 3.htm", "option 3-4", "page essai 4.htm");
		t_menu["troisième menu"] = menu3;

		menu4 = new menu("menu sans option"                   , 110,  49 , 512,  0,   3   ,  110,  10  , 512, -150,  0  ,  12,    8   , "page essai 4.htm");
		t_menu["menu sans option"] = menu4;

		menu5 = new menu("menu sans option 2"                 , 110,  49 , 622,  0,   3   ,  110,  10  , 622, -150,  0  ,  12,    8   , "page essai 3.htm");
		t_menu["menu sans option 2"] = menu4;

		menu4 = new menu("Premier menu vertical"              ,  99,  80 ,  0 , 65,   2   ,  100,  70  , 0  ,  65 ,  14 ,   0,    7   , "page essai 1.htm" , "option ?", "page essai 3.htm", "option ??", "page essai 2.htm", "option ???", "page essai 4.htm");
		t_menu["Premier menu vertical"] = menu4;

		menu5 = new menu("Rubrique sans option"               ,  99,  60 ,  0 ,145,   4   ,  10 ,  10  , -50,  135,  14 ,   0,    7   , "page essai 3.htm");
		t_menu["Rubrique sans option"] = menu5;
		
		menu6 = new menu("deuxième menu vertical avec options",  99,  110,  0 ,205,   2   ,  100,  90  , 0 ,  205,  14 ,   0,    7   ,        ""          , "option :-)", "page essai 5.htm", "option :-(", "page essai 2.htm", "option ;-)", "page essai 3.htm");
		t_menu["deuxième menu vertical avec options"] = menu6;

		var clkmenu1= setInterval('affmenu();', 10);
	</SCRIPT>
	
<!--
--------------Les images et les tableaux qui suivent ne servent qu'à la finission du menu : se sont---------
--------------     les images qui sont en haut à gauche, l'arrondi à la fin du menu horizontal     ---------
--------------                    et l'arrondi à la fin du menu vertical			   ---------
-->

<!--	---- Image du coin supérieur gauche ----
-->
    <img border="0" style="position: absolute; left: 0px; top: 0px; z-index: 4" src="bord_haut_gauche.bmp" width="112" height="65">

<!--	---- Image située à la fin du menu horizontal ----
-->
   <table border="0" cellpadding="0" cellspacing="0" style="position: absolute; left: 732px; top: 0px; border-collapse: collapse; z-index: 4" bordercolor="#111111" width=26 height=49>
      <tr>
        <td background="bord_haut_fin_1.bmp">&nbsp;</td>
      </tr>
      <tr>
        <td height=23 background="bord_haut_fin_2.bmp">&nbsp;</td>
      </tr>
    </table>

<!--	---- Image située à la fin du menu vertical ----
-->
    <table border="0" cellpadding="0" cellspacing="0" style="position: absolute; left: 0px; top: 315px; border-collapse: collapse; z-index: 4" bordercolor="#111111" width=99 height=27>
      <tr>
        <td background="bord_gauche_fin_1.bmp">&nbsp;</td>
        <td width=23 background="bord_gauche_fin_2.bmp">&nbsp;</td>
      </tr>
    </table>
</body>
</html>

 Conclusion

Vous pouvez essayer de custumiser vôtre menu (j'ai par exemple enlevé le soulignage des lien hypertexte mais vous pouvez les remettre en supprimant tous les style="text-decoration: none").
------------------------------------------ ---
Mise à jour du 24 Avril 2004 : compatibilité avec les navigateur et extention des nom des images.

- le script marche maintenant trés bien sous netscape 7.0 (pas du tout sur le 4.7), mozilla 6.0, et bien sûr sur internet explorer (version 6). Sous opera 7 il marche aussi sauf qu'il y a un petit problème avec la hateur de certaines cellules de tableaux ainsi qu'avec la iframe : elle se place toujous en premier plan (le z-index est apparement mal géré par opera). Mais bon, il suffit d'afficher le contenu des page directement sur la page (en pensant bien à décaler tous le contenu pour qu'il ne soit pas caché par le menu) et le tour est joué.

- j'ai rajouté une variable en début de fichier (la variable extention) qui permet de changer trés facilement l'extention des images utilisées. Avant si on voulait convertir les images de bmp en gif il fallait changer toues les extentions dans le fichier. Maintenant il suffit de changer la valeur de cette variable (de ".bmp" en ".gif" dans l'exmple précédent).

J'ai été surpris par la facilité avec laquelle j'ai pu mettre à jour le script notement en ce qui concerne la compatibilité avec les navigateurs (je pensais que ça allait me prendre beaucoup plus de temps; cela ne mais pris qu'une grosse heure).


!!!!!!
Je n'ai apparement pas pu uploader le nouveau zip et la nouvelle capture d'écran. Si vous voulez utiliser la nouvelle version du script, télécharger le zip, décompressez-le et remplacez le contenu du fichier menu exemple.htm par le code contenu dans le cadre ci-dessus, ça devrai marcher.
!!!!!!

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture EFFET MATRIX

 Sources de la même categorie

Source avec Zip Source avec une capture MENU VERTICALE GAUCHE ET DROIT DEROULANT par kazma
Source avec Zip Source avec une capture MENU VERTICALE EN TRANSPARENCE par dlvains
Source avec Zip Source avec une capture MENU DÉROULANT EN IMAGES par dlvains
Source avec Zip TBFRAME: TAB BROWSING FRAME par triumphs
Source avec Zip Source avec une capture MENU PRINCIPAL par ali1987

Commentaires et avis

Commentaire de babysophie le 11/06/2003 15:35:19

waouh impressionnant! pour ce ki est du niveau je suis pas super calée mais vu le code moi j'aurais kan meme mis nivo trois je crois ke ça le vaut! bravo!

Commentaire de undine le 11/06/2003 16:52:30

Je te remercie babysophie

Commentaire de ThunderPsycho le 12/06/2003 12:32:24

Super bo, commenté... joli code

Très reussi, félcitations

10/10

Commentaire de revinc le 12/06/2003 13:15:21

c bien car c rare en plus que les codes soient commentés. pas mal du tout..

dommage que le petit netscape ne supporte pas ça snif :(

Commentaire de undine le 13/06/2003 17:25:39

Merci à vous :-)

Commentaire de freddy1787 le 30/06/2003 18:06:02

bonjour,
Je touve que l'idee est super mais il y a un probleme!
Sa na marche pas!

Commentaire de undine le 01/07/2003 08:39:04

Il faudrait que tu me dise ce qui ne va pas : quelle erreur as-tu,quel navigateur utilises-tu etc...

Commentaire de meh le 26/08/2003 15:14:52

ça c'est un menu génial, dessus et sur côté, vraiment très intéressant. Mais est-ce que ça marche sur d'autres navigateurs

Commentaire de undine le 27/08/2003 01:45:24

Je pense que ça pourai marcher mais il faudrai modifier la syntaxe de certaines commandes (netscape est trés chiant pour ça).
Mais tu peux aussi modifier le code pour faire des menu fixés à droite ou en bas et pourquoi pas dans les coins aussi. Il te suffi de comprendre la première partie du code (celle avant le body) et tu l'arrange à ta sauce.

Commentaire de meh le 27/08/2003 01:51:10

...le problème c'est que je bloque sur la prog pour Netscape et les autres, trop compliqué pour moi:) ...Tu saurais me dire quelles commandes il faudrait modifier pour la compatibilité avec les autres navigaterus que IE???:)))

Commentaire de breizhoo91 le 01/11/2003 22:59:05

Ouah bravo ton programme est époustouflant !

Commentaire de tit1012 le 17/12/2003 16:57:13

moi je voudrai bien savoir undine car chui pas vraiment doue pour l'HTML
comment on agrandi la fentre ou on affiche la page voila
merciiiii

Commentaire de druz le 30/01/2004 11:50:15

Excelent petit menu
on peu vraiment le modif a sa guise c cool
c VRAIMENT domage ke nescape ne gere pas le code
si un jour tu nous trouve une soluce tiens nous o courant ;)

Commentaire de druz le 30/01/2004 11:51:17

Excelent petit menu
on peu vraiment le modif a sa guise c cool
c VRAIMENT domage ke nescape ne gere pas le code
si un jour tu nous trouve une soluce tiens nous o courant ;)

Commentaire de undine le 30/01/2004 19:38:11

une precision pour tit1012 : pour modifier la hauteur et la largeur de la fenetre c'est dans la balise iframe (juste aprés la balise body) que ça ce passe pour la largeur tu modifie le parametre width, pour la hauteur le parametre height.
J'ai mis les hauteur et largeur en pourcent (height: 90%) mais tu peut les spécifier en pixel en ecrivant height: Xpx où X est la valeur que tu veux mettre (par exemple width: 200px).
Voilà j'espère avoir été assez clair, sinon poste un nouveau message.

Commentaire de meh le 31/01/2004 01:22:01

Mon cher undine, j'espère que ta génialité ne nous laissera pas sur notre faim et que tu sauras nous dévoiler comment rendre ce super menu compatible avec Netscape et surtout Mozilla, ou même Safari...
Malheureusement, comme tu le dis, ces navigateurs sont vraiment chiants. D'ailleurs je ne comprends pas pourquoi des trucs aussi basiques que du dhtml ou du java-script, souvent parmi les meilleurs scripts d'ailleurs, ne fonctionnent pas toujours chez eux... Bon courage et merci encore

Commentaire de meh le 31/01/2004 01:53:09

...Encore une chose: comment faire pour que dans la partie du menu qui se trouve à gauche à la verticale, au lieu de s'ouvrir à droite et de prendre ainsi de la place sur la fenêtre, s'ouvre en-dessous de la catégorie voulue, les catégories se trouvant en dessous se déplaçant en fonction elle-aussi vers le bas. Tu comprends?? :-) ...Moi j'ai un menu qui fonctionne comme ça (http://www.suedost-ev.de *site en allemand et en yougoslave, cliquer sur la page d'accueuil en bas à droite sur 'zur Hauptseite'...) mais malheureusement il ne marche pas du tout avec Safari et Mozilla, et avec Netscape ce dont je te parles pour le menu en vertical ça ne fonctionne pas (les sous-menus sur 'Aktuelles' n'apparaissent pas :-(
Si c'était possible de faire un effet comme ça avec ton script, et que le tout soit au moins compatible avec Netscape et surtout Mozilla, je reprendrais bien ton script sur ce site qui a un menu très proche.
Voilà :-)

Commentaire de aacssd le 23/04/2004 10:54:19

hej ! là je trouve ton menu très joli mais trop compliqué pour moi =) en fait moi je voudrais faire un truc dans le même style avec uniquement une barre de menu sur le coté (comme tu l'as fait) mais avec seulement des images (faites en toshop avec le texte intégré dans l'image) et pas de texte dynamique, peut être que tu pourrais m'aider car tu as l'air trés balaise !

je te laisse mon adresse mail :

nicolas_baudoin@hotmail.com

Commentaire de aacssd le 23/04/2004 10:56:55

hej ! là je trouve ton menu très joli mais trop compliqué pour moi =) en fait moi je voudrais faire un truc dans le même style avec uniquement une barre de menu sur le coté (comme tu l'as fait) mais avec seulement des images (faites en toshop avec le texte intégré dans l'image) et pas de texte dynamique, peut être que tu pourrais m'aider car tu as l'air trés balaise !

je te laisse mon adresse mail :

nicolas_baudoin@hotmail.com

Commentaire de aderbois le 31/07/2004 20:25:35

c'est genial ca marche meme sous mozilla.
ca merite un 10/10
d'ailleur je pense que c'est un niveau 3
cool

Commentaire de Marsenal le 01/09/2004 00:40:01

Alors la !
10/10, Rien a dire, parfait !
Beau, simple, complet, explications claires et casi-omniprésentes
Pil poil ce que je cherchait... Je peut re-utiliser ton code ? (je ne compte garder qu un menu vertical...)

Bref bravo il vraiment super et marche sous mozilla ! Ce qui est rare.

Félecitations Undine...

Commentaire de undine le 01/09/2004 14:53:42

Pour la réutlisation y a pas de problèmes

Commentaire de Marsenal le 01/09/2004 15:12:36

Ben merci, dès que je l'aurai réutilisé pour mon site je mettrait l'adresse...

Bon pour l'instant g pas mal de pb vec mon pc (3/4 de mes progs on des fichiers .dll endommagés, donc je pense qu'un formatage s'impose).

Voila merci et encore bravo !

Commentaire de Marsenal le 05/09/2004 14:55:24

Heu lol, progressivement j'assimile le code, tellement bien pensé que c'est un jeu d'enfant !

Par contre je voudrait savoir comment il est possible de faire ouvrir les differents liens des menus et sous menus dans la meme page et non pas en ouvrant un nouvelle fenetre ??

Voila merci d'avance....

Commentaire de undine le 06/09/2004 13:11:19

Normalement les liens devrai tous s'ouvrir dans l'iframe de la page (elle porte comme nom main_win). Seulement opera (et même Mozilla il me semble) gèrent mal les plan et il met l'iframe toujour au premier plan ce qui cache le menu.

La solution la plus simple c'est d'ourir les page dans la fenêtre elle-même (et on dans une iframe) et tu intègre le code du menu dans toutes tes pages : le plus propre est de mettre le code du menu dans un fichier annexe que tu inclura (grâce à la balise <link>) au début de chaque page, ça te permettra d'apporter des modifications à ton menu plus facilement (sans ça, il te faudrai modifier toutes les pages de ton site, pas glop).

La seconde solution est d'essayer d'afficher l'iframe en premier puisque Opera place en arrière plan le premier objet détecté et au premier plan le dernier. Le problème c'est qu'aparemment Opera place les iframe toujour au premier plan car dans mon code, l'iframe est placé au tout début du body et pourtant elle se retrouve au premier plan, donc je sais pas encore comment régler ce problème avec Opera et Mozilla.

Commentaire de turbovapeur le 31/10/2004 17:06:27

beau boulot et merci !

Commentaire de spandex le 05/11/2004 08:33:01

Salut,

Super menu trés pratique et trés bien commenter.

Mais j'ai un petit pb  a cause de XP SP2

a chaque fois que je souhaite ouvrir la page ou se trouve ton menu internet explorer bloque le script en me disant que dans la page se trouve un contenu actif et donc potentielement dangereux ( merci billou pour cette mise a jour :((( )

Comment faire pour passer a travers ? car j'ai bien un autre menu en javascript (moin jolie d'ailleur) qui lui passe ????

As tu une idée d'ou cela peut il venir ?

ps: ce serai dommage de se priver d'un menu pareil a cause des maj de microsoft :))

Commentaire de Nurgle le 20/01/2005 14:11:39 administrateur CS

C'est beau, simple, et joli !!!! 10/10 !!

Mais, qu'est ce qu'il se passe quand le navigateur ne supporte pas les iframes ?

Commentaire de Nurgle le 20/01/2005 14:15:39 administrateur CS

spandex, pour ton blèm de SP2 (Merci Microsoft !!)

va voir dans Options Internet --> Sécurité --> Personnaliser le niveau

doit bien y avoir là un moyen de l'empêcher de bloquer le script...

Commentaire de johanong le 11/02/2005 13:06:22

Serieux, tres bon script, il permet de gerer plein de type de menus  parcontre impossible de changer les couleurs du text g l'impression que les variables de couleurs de reagisse pas (couleur du texte.......)
please help..................URGENT)

Merci

Johan

Commentaire de ekinoxe le 10/06/2005 09:37:50

Tres beau menu, par contre j'ai un souci c'est que je n'arrive pas à ajouter un sous menu par exemple si je met ds le menu 1 en horizontale. sa me fait 5 sous menu et uniquement les 4 dernier s affiche

Commentaire de sletis le 24/08/2005 15:42:08

salut super menu, bon travail! mais j ai un souci certaines cellules sont décallé j utilise la derniere version de IE merci

Commentaire de alexletiti le 15/10/2005 12:43:42

Bonjour,
j'utilise le menu est il est vraiment super.
Par contre je souhaiterais mettre une bannière au dessus du menu. Quand je fais cela, les sous-menus passent sur la bannière. Y a t il une solution pour que ça passe en arrière plan ?
Merci d'avance.

Commentaire de bg62 le 13/04/2006 17:30:31

bonjour
on peut le voir "en action" qq part ce menu ?
@+
b g

Commentaire de tsc60004 le 28/05/2006 14:28:12

bonjour cette menu ma plu beaucoup mais j'ai besoin d'une extension ou modification en ajoutant une autre sous menu déroulant c a d menu a trois niveaux
c'est trés urgent car je suis entrain de préparé mon projet de fin d'etude

Commentaire de sel31 le 18/02/2007 16:03:32

bonjour
ce menu est très beau mais ne fonctionne pas sous firefox.
Quelqu'un l'aurait il modifié en conséquent ?
Merci d'avance

Commentaire de Rom_beaten le 19/02/2007 18:31:34

Super beau menu, des commentaires bien placés permettent de modifier le contenus du menu à sa guise, personnellement j'aimerais en faire un menu uniquement horizontale, par souci de place sur ma page, et je l'ai réussi dans une page solo, seule problème, lorsque je l'intègre dans mon index avec un <?php include ..

Le menu ne se positionne pas du tout où j'aimerais malgré le css mis à cet effet .. pire encore il ne reste même pas comme il était dans une page seule, les boutons s'aggrandissent, se mettent un peu à gauche à droite ... Quelqu'un a-t'il réussi cette manipulation ?!

Si jamais le créateur de ce magnifique menu réapparaissait et pouvait m'éclairer ce sera merveilleux ^^

Commentaire de silentdeath le 21/05/2009 11:00:14

bonjour je suis un débutant et je n'arrive pas a copier/coller ce script dans "source" de Nvu correctement...des que je copie/colle je vois aparaitre des dièse qui a mon avis font bugger!

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
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,967 sec (4)

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