Ciao a tutti e bun principio di feste...
codice:
<script language=javascript>
FlgMenuAltoAperto=0;
function MenuPrincipaleAct()
{
document.getElementById('MenuAlto').style.height=10;
AllargaMenuPrincipale(100);
}
function AllargaMenuPrincipale(n)
{
if (MenuPrincipaleAct==1)
return 0;
Obj=document.getElementById('MenuAlto');
obj=document.getElementById('InfoSx');
N=Obj.style.height;
T=obj.style.top;
T= T.replace("px","");
N = N.replace("px","");
N=parseInt(N);
T=parseInt(T);
N=N+2;
T+=2;
Obj.style.height=N;
obj.style.top=T;
k="AllargaMenuPrincipale("+n+");";
if (N<n)
setTimeout(k,10);
else
{
MostraMenuAlto();
}
}
function MostraMenuAlto()
{
document.getElementById('MenuAlto1-1').style.display='';
document.getElementById('MenuAlto1-2').style.display='';
}
function ClickMenuAlto(K)
{
K=K.replace("MenuAlto","");
Pos=K.indexOf('-');
Id=K.substr(0,Pos);
Gr=K.substr(Pos+1);
Id++;
K='MenuAlto'+Id+'-'+Gr;
document.getElementById(K).style.display='';
}
function MouseOver (id)
{
if (FlgMenuAltoAperto==1)
return 0;
obj=document.getElementById(id);
BG=obj.style.backgroundColor;
FG=obj.style.color;
obj.style.backgroundColor=FG;
obj.style.color=BG;
FlgMenuAltoAperto=1;
}
function MouseOut (id)
{
if (FlgMenuAltoAperto==1)
return 0;
BG=obj.style.backgroundColor;
FG=obj.style.color;
obj.style.backgroundColor=FG;
obj.style.color=BG;
}
</script>
<div id='InfoSx' style="position:absolute; left:0%; width:70px; top:55px; font-size:11px; color:#ffff00;">
varie informazioni
bla blabla
</div><div id='MenuAlto' onmouseout='MouseOut("MenuAlto");' onclick='MenuPrincipaleAct()' onmouseover='MouseOver("MenuAlto");' style="position:absolute;font-size:10;color:#000066;border:solid 1px black;width:70;top:36;left:3;height:12;">Menu
Opzione 1 blabla
Sotto Opzione 1
Opzione 2
</div>
Il menu' dovrebbe funzionare così:
cliccando su "menù", si apre la tendina delle opzioni e si abbassa il box delle informazioni.
Funziona tutto...
non è vero!!!
Infatti, quando clicco su una opzione viente attivato l'evento onclick sia sulla opzione sia sul box principale (quindi la funzione ClickMenuAlto()...
... l'alert inserito è per verifica.
In teoria se la variabile FlgMenuAltoAperto serve per uscire dalla funzione che allarga il menù quando lo stesso è giè ingradito.
In realtà viene richiamata ad ogni click sulle opzioni del menù la funzione MenuPrincipaleAct e quindi anche AllargaMenuPrincipale ma viene ignorato il return 0 sul controllo della variabile MenuPrincipaleAct.
Il problema che si presenta sia su firefox che su ie...
Qualcuno mi sa spiegare il motivo ?
Grazie