<HTML><HEAD><TITLE>Menu arborescent en listes déroulantes</TITLE> <p align="center"><script language="JavaScript">var menu=new CreerMenu(4," 1 - Type d'appartement "," 2 - Surface "," 3 - Loyer mensuel "," 4 - Nom ","_blank"); // CreerMenu(Nb de listes, titre1, titre2, titre3, target) // Nb listes=4 maxi // Les 4 titres sont obligatoires (meme si Nb_liste<4) // target=nom de la frame ou "self" si c'est la fenetre elle meme, "_blank" pour une nouvelle // Pour ajouter les liens dans les listes, utiliser menu.Add // Menu.Add(numéro de la liste, texte, page à charger) menu.Add(1,"1 personne",""); menu.Add(2,"Entre 50 et 100 m2",""); menu.Add(3,"Entre 100 et 150 Euros",""); menu.Add(4,"Chris apartement",""); menu.Add(3,"Entre 150 et 200 Euros",""); menu.Add(3,"Indifferent",""); menu.Add(4,"Chris apartement",""); menu.Add(2,"Entre 100 et 150 m2",""); menu.Add(3,"Entre 100 et 150 euros",""); menu.Add(4,"Pearl Living",""); menu.Add(3,"Entre 150 et 200 Euros",""); menu.Add(4,"King Size","test.html"); menu.Add(3,"Indifferent",""); menu.Add(4,"Pearl Living",""); menu.Add(4,"King Size","test.html"); menu.Add(2,"Indifferent",""); menu.Add(3,"Entre 100 et 150 Euros",""); menu.Add(4,"Chris apartement",""); menu.Add(4,"Pearl Living",""); menu.Add(3,"Entre 150 et 200 Euros",""); menu.Add(4,"King Size","test.html"); menu.Add(3,"Indifferent",""); menu.Add(4,"Chris apartement",""); menu.Add(4,"King Size","test.html"); menu.Add(4,"Pearl Living",""); function CreerMenu(profondeur,titre1,titre2,titre3,titre4,target) { this.nb=0;this.prof=profondeur; this.titre1=titre1; this.titre2=titre2; this.titre3=titre3; this.titre4=titre4; this.target=target this.Add=AddObjet; this.Aff=AffMenu; } function AddObjet(deep,txt,page) { var rub = new Object; rub.deep=deep; rub.txt=txt; rub.page=page; this[this.nb]=rub; this.nb++; } function AffMenu() { var Z="<FORM name='mf'>"; Z+="<center><br><SELECT size=1 name='list1' onChange='Clic(1)'><OPTION selected>"+this.titre1+"</OPTION>"; for (var i=0;i<this.nb;i++) { if (this[i].deep==1) { Z+="<OPTION value='"+i+"'>"+this[i].txt+"</OPTION>"} } Z+="</SELECT></center></br>"; for (var i=2;i<=menu.prof;i++) { Z+="<center><br><SELECT name='list"+i+"' onChange='Clic("+i+")'><OPTION>"+eval("menu.titre"+i)+"</OPTION><OPTION></OPTION><OPTION></OPTION><OPTION></OPTION><OPTION></OPTION><OPTION></OPTION></SELECT></br></br>"; } Z+="</FORM>"; document.write(Z); } function add() { var c=new Option("ADD","",true,true); document.forms[0].elements["list"].options[0]=c; } function Clic(no) { var valeur=document.forms["mf"].elements["list"+no].options[ document.forms["mf"].elements["list"+no].selectedIndex].value; if ((valeur!="")&&(valeur!=null)&&(no<menu.prof)) { var deep=menu[valeur].deep; var no2=1; for (var noX=(no+1);noX<=menu.prof;noX++) { document.forms["mf"].elements["list"+eval(noX)].options.length=0; var titre=eval("menu.titre"+noX); var c=new Option(titre); document.forms["mf"].elements["list"+(noX)].options[0]=c; document.forms["mf"].elements["list"+(noX)].selectedIndex=0; } valeur++; for (var i=valeur;i<menu.nb;i++) { //alert(i); if (menu[i].deep==deep+1) { //alert("no="+no+" texte="+menu[i].txt); var c=new Option(menu[i].txt,i); document.forms["mf"].elements["list"+(no+1)].options[no2]=c; no2++; } else { if (menu[i].deep==deep){i=menu.nb;}} } document.forms["mf"].elements["list"+(no+1)].options.length=no2+1; document.forms["mf"].elements["list"+(no+1)].selectedIndex=0; Clic(no+1) valeur--; } if ((valeur!="")&&(valeur!=null)) { var page=menu[valeur].page; if ((page!="")&&(page!=null)) { if (menu.target=="self") {window.location=page} else if (menu.target=="_blank") {window.open(page,"","menubar,scrollbars,toolbar,status,location")} else {parent.frames[menu.target].location.href=page;} } } } // Fonctions destinées à afficher l'arborescence du menu function space(i) {var Z="";for (var j=0;j<i;j++){Z+="&&&&";}return Z} function Arbo(m) { var Z="<BR>"; for (var i=0;i<m.nb;i++) { Z+=space(m[i].deep)+m[i].txt+"&& <A href='"+m[i].page+"'>"+m[i].page+"</A><BR>" } document.write(Z); } </SCRIPT> </HEAD> <BODY bgcolor="#FFFFFF" text="#000000" alink="#000066" link="#000066" vlink="#000066" ><BIG><br><br><br><br><br></br></br></br></br></br></br></BIG><BR> <SCRIPT language="JavaScript"> menu.Aff(); </SCRIPT>