Ciao a tutti e bun principio di feste...
Il menu' dovrebbe funzionare così: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>
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

non è vero!!!
Rispondi quotando