aiuto menù espandibile javascript

  • Creatore Discussione Creatore Discussione gio^_^
  • Data di inizio Data di inizio

gio^_^

Nuovo Utente
2 Ott 2004
3
0
0
ciao a tutti
^_^

scusate se vi assillo ma ho un problema con un menu' javascript di cui ho reperito il codice in rete...
io non so quasi nulla di javascript ma mi servirebbe questo menù funzionante perchè lo userei per la dimostrazione web che ho unito alla mia tesi...

se qualcuno e' in grado di aiutarmi questo e' il codice:
--------------------------------------------------------------------------------------------
<html>

<head>
<title>Script menù espandibile JAVASCRIPT</title>

<style><!-- stili e posizioni -->
#divMain{position:absolute}
#divCont{position:relative; left:7px; top:5px; height:200px; width:200px;}
DIV.clTop{position:absolute; width:175px}
DIV.clSub{position:absolute; left:13px; top:20px; width:169px}
A.clMain{font-family:Verdana; font-size:10px; text-decoration:none; font-weight:bold; color:black}
A.clSubb{font-family:Verdana; font-size:10px; text-decoration:none; font-weight:bold; color:black; height:14px}
A.clSubb:hover{border: solid 1px #000000; background-color:#CFC6BB;width:169px}
</style>

<script language="JavaScript" type="text/javascript">

var stayFolded=false;
var exImg=new Image(); exImg.src='images/aperta.gif';
var unImg=new Image(); unImg.src='images/chiusa.gif';

var n = (document.layers) ? 1:0;
var ie = (document.all) ? 1:0;
var browser=((n || ie) && parseInt(navigator.appVersion)>=4)

function makeMenu(obj,nest){
nest=(!nest) ? '':'document.'+nest+'.'
this.css=(n) ? eval(nest+'document.'+obj):eval('document.all.'+obj+'.style')
this.ref=(n) ? eval(nest+'document.'+obj+'.document'):eval('document');
this.height=n?this.ref.height:eval(obj+'.offsetHeight')
this.x=(n)? this.css.left:this.css.pixelLeft;this.y=(n)? this.css.top:this.css.pixelTop;
this.hideIt=b_hideIt; this.showIt=b_showIt; this.vis=b_vis; this.moveIt=b_moveIt
return this
}

function b_showIt(){this.css.visibility="visible"}
function b_hideIt(){this.css.visibility="hidden"}
function b_vis(){if(this.css.visibility=="hidden" || this.css.visibility=="hide") return true;}
function b_moveIt(x,y){this.x=x; this.y=y; this.css.left=this.x; this.css.top=this.y}

function init(){
oTop=new Array()
oTop[0]=new makeMenu('divTop1','divCont')
oTop[1]=new makeMenu('divTop2','divCont')
oTop[2]=new makeMenu('divTop3','divCont')

oSub=new Array()
oSub[0]=new makeMenu('divSub1','divCont.document.divTop1')
oSub[1]=new makeMenu('divSub2','divCont.document.divTop2')
oSub[2]=new makeMenu('divSub3','divCont.document.divTop3')
for(i=0;i<oSub.length;i++){ oSub.hideIt() }
for(i=1;i<oTop.length;i++){ oTop.moveIt(0,oTop[i-1].y+oTop[i-1].height) }
}

function menu(num){
if(browser){
if(!stayFolded){
for(i=0;i<oSub.length;i++){
if(i!=num){
oSub.hideIt()
oTop.ref["imgA"+i].src=unImg.src
}
}
for(i=1;i<oTop.length;i++){
oTop.moveIt(0,oTop[i-1].y+oTop[i-1].height)
}
}
if(oSub[num].vis()){
oSub[num].showIt()
oTop[num].ref["imgA"+num].src=exImg.src
}else{
oSub[num].hideIt()
oTop[num].ref["imgA"+num].src=unImg.src
}
for(i=1;i<oTop.length;i++){
if(!oSub[i-1].vis())
oTop.moveIt(0,oTop[i-1].y+oTop[i-1].height+oSub[i-1].height)
else oTop.moveIt(0,oTop[i-1].y+oTop[i-1].height)
}
}
}
if(browser) onload=init;

</script>
</head>

<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">

<table>
<tr>
<td>
<div id="divCont">
<div id="divTop1" class="clTop">
<a href="#" onclick="menu(0); return false" class="clMain">
<img src="images/chiusa.gif" name="imgA0" alt="" border="0"> IL PASSATO DI SESTO S.G.</a>

<div id="divSub1" class="clSub">
<a href="#" class="clSubb"> >la storia</a><br>
<a href="#" class="clSubb"> >i progetti di rigenerazione<br>&nbsp;&nbsp;&nbsp;urbana portati a termine</a><br>
<a href="#" class="clSubb"> >diari di ieri</a><br>
<a href="#" class="clSubb"> >la mappa della vecchia città</a><br>
<a href="home_passato.html" class="clSubb"> >l’identità passata di Sesto</a><br>
<a href="#" class="clSubb"> >forum su ieri</a>
</div>
</div>

<div id="divTop2" class="clTop">
<a href="#" onclick="menu(1); return false" class="clMain">
<img src="images/chiusa.gif" name="imgA1" alt="" border="0"> IL PRESENTE DI SESTO S.G.</a>

<div id="divSub2" class="clSub">
<a href="#" class="clSubb"> >news</a><br>
<a href="#" class="clSubb"> >i progetti di rigenerazione<br>&nbsp;&nbsp;&nbsp;urbana in corso</a><br>
<a href="#" class="clSubb"> >diari di oggi</a><br>
<a href="#" class="clSubb"> >la mappa interattiva<br>&nbsp;&nbsp;&nbsp;di Sesto</a><br>
<a href="#" class="clSubb"> >l'identità attuale di Sesto</a><br>
<a href="home_presente.html" class="clSubb"> >le tue radici a Sesto</a><br>
<a href="#" class="clSubb"> >forum su oggi</a>
</div>
</div>

<div id="divTop3" class="clTop">
<a href="#" onclick="menu(2); return false" class="clMain">
<img src="images/chiusa.gif" name="imgA2" alt="" border="0"> IL FUTURO DI SESTO S.G.</a>

<div id="divSub3" class="clSub">
<a href="#" class="clSubb"> >videoconferenze dal futuro</a><br>
<a href="#" class="clSubb"> >i progetti futuri<br>&nbsp;&nbsp;&nbsp;di rigenerazione urbana</a><br>
<a href="#" class="clSubb"> >diari di domani</a><br>
<a href="#" class="clSubb"> >l'identità futura di Sesto</a><br>
<a href="home_futuro.html" class="clSubb"> >collaborare alla<br>&nbsp;&nbsp;&nbsp;riqualificazione urbana</a><br>
<a href="#" class="clSubb"> >forum sul domani</a>
</div>
</div>
</div>
</td>
</tr>
</table>
</body>
</html>
------------------------------------------------------------------------------------------

Il menù e' un menù espandibile; ad esso sono unite le due icone per le voci principali del menu' (espansa, non espansa)...
Il mio problema e' che quando passo da una pagina all'altra il menù si richiude, mentre io vorrei che rimanesse aperta la sezione della pagina dove mi trovo...

e' possibile farlo?

ps: il sito web che porto per la tesi e' una simulazione di sito, non un vero sito, quindi accetto anche soluzioni un po' alla buona, basta che diano l'effetto desiderato...

grazie a tutti e scusate per il disturbo...
se qualcuno mi puo' aiutare gli faro' una statua
^_^
 
Ps

se qualcuno ha menù simili a questo in oggetto che non hanno il problema che ho descritto su e che si possono adattare alla grafica del mio...
^_^
 
Di script simili ne puoi trovare molti in rete...
Basta cercare su Google con la parola chiave script menu espandibile.
 
WebDisaster ha scritto:
Di script simili ne puoi trovare molti in rete...
Basta cercare su Google con la parola chiave script menu espandibile.

si, infatti ne ho trovati molti...

l'unico che ho saputo gestire un minimo e' questo...
pero' mi da' il problema che ho scritto su (ogni volta che cambio pagina il menù si richiude mentre io vorrei che rimanesse espansa la sezione che sto navigando...)

cercavo aiuto per risolvere questo problema...
gli altri script che ho visionato non mi andavano bene...
aiuto
 

Discussioni simili