Se il problema è solo questo, ecco i codici delle pagine: menu.jsdatimenu.jscodice://-------check del tipo di browser utilizzato-------------- var ie=(navigator.appName=="Microsoft Internet Explorer")?true:false; var version = navigator.appVersion.split(';').toString().split(" ").toString().split(',')[4]; version=version.split('.')[0]; var wt=ie?version:null; var isie5=((wt)>=5 && ie)?true:false; var isie4=((wt <5 && wt >=4) && ie)?true:false; var isNS4=(document.layers)?true:false; var isNS6=document.getElementById && (navigator.appName=="Netscape")?true:false; //alert( 'ie:' + ie ); //alert( 'version:' + version ); //alert( 'wt:' + ie ); //alert( 'isie4:' + isie4 ); //alert( 'isie5:' + isie5 ); //alert( 'isNS4:' + isNS4 ); //alert( 'isNS6:' + isNS6 ); mm=(isNS4)?'show':'visible'; nn=(isNS4)?'hide':'hidden'; //----------------calcolo della coordinata y di ogni livello------------------------------ ak=new Array(); for(df=0; df<pra.length; df++){ //----------------------------- if(df==0){ ak[0]=0; } if(df>0 && pra[df][1]>pra[df-1][1]){ ak[df]=ak[df-1]; } else if(df>0 && pra[df][1]==pra[df-1][1]){ ak[df]=ak[df-1]+21; } else if(df>0 && pra[df][1]<pra[df-1][1]){ for(po=df-1; po>=0; po--){ if(pra[df][1]==pra[po][1]){ ak[df]=ak[po]+21; break; } } } pra[df][5]=ak[df] } //------------------------------------------------------------------- //----------classifica--------------- ae=new Array(); ae_n=0; for(d=0; d<pra.length; d++){ if(d>0 && pra[d][1]=='0'){ ae_n=ae_n+1; } ae[d]=""+"z"+ae_n pra[d][6]=ae[d]; } //--------mostra livelli-------------------------------------------- az=new Array(); for(df=0; df<pra.length; df++){ az[df]=''; if(pra[df][2]=="c"){ for(yf=0; yf<pra.length; yf++){ if((yf>df && pra[yf][6]==pra[df][6]) && pra[yf][1]==(eval(pra[df][1])+20)){ az[df]=''+az[df]+yf+','; } if(yf>df && pra[yf][1]<=pra[df][1]){ break; } } pra[df][3]=az[df].substring(0,az[df].length-1) } } //--------preload immagine aperta/chiusa------------------ imm0=new Image(); imm0.src="images/freccia1_close.gif"//"images/cart_ch.gif"; imm1=new Image(); imm1.src="images/freccia1_open.gif"//"images/cart_op.gif"; imm2=new Image(); imm2.src="images/void.gif"//"images/link.gif"; //------------------------------------------------------------------ // livello contenitore per tutto il menu document.write('<div id="princ" style="position:relative;height:'+((pra.length*21)+top_pra)+';width:'+width_pra+';top:'+top_pra+';left:'+left_pra+'"></div>') //----------------scrivi menu---------------------- lev=""; function wrt(){ for(i=0; i<pra.length; i++){ id_pra=""+"a"+i; img_name=""+"v"+i; target=( pra[i][4] == null ? '_self' : pra[i][4] ); if(pra[i][1]>0) { if(pra[i][2]=="c"){ lev+='<div id=\"'+id_pra+'\" style="position:absolute;visibility:'+nn+'; top:'+pra[i][5]+';left:'+left_pra+';height:20;width:'+width_pra+';background-color:\'#BFCEEE\';padding-left:'+(pra[i][1]/10*5)+'">[img]'+imm0.src+'[/img]<font class=subLev>'+pra[i][0]+'</font></div>'; } else if(pra[i][2]=="ll"){ lev+='<div id=\"'+id_pra+'\" style="position:absolute;visibility:'+mm+'; top:'+(pra[i][5]+top_pra)+';left:'+left_pra+'; height:20; width:'+width_pra+';background-color:\'#BFCEEE\';">[img]'+imm2.src+'[/img] '+pra[i][0]+'</div>'; } else{ lev+='<div id=\"'+id_pra+'\" style="position:absolute;visibility:'+nn+'; top:'+pra[i][5]+';left:'+left_pra+'; height:20;width:'+width_pra+';padding-left:'+(pra[i][1]/10*5)+'">[img]'+imm2.src+'[/img]'+pra[i][0]+'</div>'; } } else{ if(pra[i][2]=="c"){ lev+='<div id=\"'+id_pra+'\" style="position:absolute;visibility:'+mm+';top:'+(pra[i][5]+top_pra)+';left:'+left_pra+'; height:20; width:'+width_pra+';background-color:\'#042F93\';">[img]'+imm0.src+'[/img]<font class=firstLev> '+pra[i][0]+'</font></div>'; } else if(pra[i][2]=="ll"){ lev+='<div id=\"'+id_pra+'\" style="position:absolute;visibility:'+mm+'; top:'+(pra[i][5]+top_pra)+';left:'+left_pra+'; height:20; width:'+width_pra+';background-color:\'#042F93\';">[img]'+imm2.src+'[/img] '+pra[i][0]+'</div>'; } } } if(isie4) document.all.princ.innerHTML=lev; else if (isie5 || isNS6) { document.getElementById("princ").innerHTML=lev } else with (document.layers.princ.document) { open(); write(lev); close(); } } var arpars = new Array(); function goapri(x,y,z,check) { if (check==0) if (arpars.length>0) { apri(arpars[0],arpars[1],arpars[2]); arpars=[x,y,z]; apri(arpars[0],arpars[1],arpars[2]); } else { arpars=[x,y,z]; apri(x,y,z) } else apri(x,y,z) } //--------------------- function apri(id,idm,jj){ qq=id.split(',') wh=(isNS4)?document.layers['princ'].layers[jj].document:document; wt=(wh.images[idm].src==imm0.src)?imm1.src:imm0.src; if(wt==imm1.src){ for(j=0; j<qq.length; j++){ iddd=""+"a"+qq[j] snf=(isie4)?document.all[iddd].style:(isNS4)?document.layers['princ'].layers[iddd]:document.getElementById(iddd).style; snf.visibility=mm; } //----------- ql=pra.length-qq[0] snn=(isie4)?document.all[jj].style:(isNS4)?document.layers['princ'].layers[jj]:document.getElementById(jj).style; ftop=parseInt(snn.top) for(k=0; k<ql; k++){ iddd=""+"a"+(k+parseInt(qq[0])) snf=(isie4)?document.all[iddd].style:(isNS4)?document.layers['princ'].layers[iddd]:document.getElementById(iddd).style; if(snf.visibility==mm){ ftop=ftop+21; snf.top=ftop } } //----------- } else{ ql=pra.length-qq[0] snn=(isie4)?document.all[jj].style:(isNS4)?document.layers['princ'].layers[jj]:document.getElementById(jj).style; ftop=parseInt(snn.top) for(j=0; j<ql; j++){ iddd=""+"a"+(j+parseInt(qq[0])) snf=(isie4)?document.all[iddd].style:(isNS4)?document.layers['princ'].layers[iddd]:document.getElementById(iddd).style; if(pra[j+parseInt(qq[0])][1]>pra[parseInt(qq[0])-1][1]){ snf.visibility=nn; } if(snf.visibility==mm){ ftop=ftop+21; snf.top=ftop } if(pra[j+parseInt(qq[0])][2]=="c"){ gg=""+"v"+(j+parseInt(qq[0])) if(isNS4){ we=""+"a"+(j+parseInt(qq[0])) wj=document.layers['princ'].layers[we].document.images[gg].src=imm0.src; } else{ wh.images[gg].src=imm0.src; } } } } wh.images[idm].src=wt } //onload=wrt var originalOnload = document.body.onload; document.body.onload = redefinedOnload; function redefinedOnload() { if ( originalOnload != null ) { originalOnload(); } wrt(); }I due js li richiamo così nelle pagine htm:codice:// -- Parametri di visualizzazione top_pra=0; // Distanza dal margine superiore della pagina left_pra=0; // Distanza dal margine sinistro della pagina width_pra=152; // Larghezza dei livelli //------------------ // -- Destinazione dei links // -- Parametri della pop-up per apertura dei links in pop.up // // function popup(pagina,larga,alta) { fin=window.open(pagina,"","top=100,left=100,width="+larga+",height="+alta); } //--------------------------------------- // -- NON MODIFICARE LE DUE ISTRUZIONI SEGUENTI!!! c=-1; pra=new Array(); // -- ------------------------------------------------------------ /*############################################# QUI VENGONO IMPOSTATE LE VOCI DI MENU E RELATIVI LINKS seguendo l'esempio già impostato non è difficile realizzare il proprio menu. L'indentazione è utile e consigliabile per meglio seguire anche a colpo d'occhio la disposizione dei livelli. Ogni voce di qualsiasi livello è composta dalla parte iniziale pra[c=c+1]=new Array( Di seguito vengono passati 4 o 5 parametri di seguito descritti: - voce ossia il testo che deve fisicamente comparire nel menu - profondità del livello espressa con un numero BEN DEFINITO: 0 -> primo livello 20 -> secondo livello 40 -> terzo livello 60 -> quarto livello - tipologia, ossia: c -> cartella, indica che ci sono dei sottolivelli l -> link è un link normale, solo testo ll -> è un link che può essere interposto tra cartelle prendendone lo stesso aspetto - link, solo per tipologia 'l' e 'll', indica il link a cui punta questa voce. Può essere un url, oppure un richiamo alla funzione che apre un url in una finestra pop-up come nell'esempio dell'ultima voce. - target, il target del link ( opzionale ) la formattazione di testi e colori avviene con il file menu.css. */ pra[c=c+1]=new Array("Chi Siamo",0,"c"); pra[c=c+1]=new Array("Missione",20,"l","chi_siamo/missione.asp", "Iframe" ); pra[c=c+1]=new Array("Attività",20,"l","chi_siamo/attivita.asp", "Iframe" ); pra[c=c+1]=new Array("Codice Etico",20,"l","etico.asp", "Iframe" ); pra[c=c+1]=new Array("Struttura Organizzativa",20,"l","chi_siamo/struttura.asp", "Iframe" ); pra[c=c+1]=new Array("Area Utenti Abilitati",0,"ll","pass/logon.asp", "Iframe"); pra[c=c+1]=new Array("Controllo",0,"c"); pra[c=c+1]=new Array("Documentazione",20,"l","chi_siamo/lavori.asp", "Iframe" ); pra[c=c+1]=new Array("Attività",20,"l","chi_siamo/lavori.asp", "Iframe" ); pra[c=c+1]=new Array("Cartografia",20,"l","http://paginaweb.com/" ); pra[c=c+1]=new Array("Eventi",20,"l","menucontr1.asp", "Iframe"); pra[c=c+1]=new Array("Misure",20,"l","menucontr2.asp", "Iframe"); // ----------------------------------------------------------------------------Grazie.codice:<script language="JavaScript" src="script/datimenu.js"></script> <script language="JavaScript" src="script/menu.js"></script>