finalmente ci sono riuscitoooooooo!!!
contando che sono un programmatore PHP e i JS li conosco a mala pena
devo dire che mi sento un grande!
Sono riuscito a fare un menu da tasto dx espandibile visibile sia
da explorer che da netscape!!!
Contate che manca la funzione che se spostato il mouse al di fuori
delle aree dei menu questi dovrebbero scomparire.
Contate che ci sono delle doppie funzioni perchè se scrivevo
document.oncontextmenu=mostra2('menu',0);
non mi funzionava e non so il perchè (ripeto non conosco bene i JS)
Manca pure la fase iniziale dove faccio dei for per creare i menu,
ma non sono indispensabili.
eccovi lo script:
Codice PHP:
function reloadPage(init) { //ricarica la pagina se Netscape fa un reload
if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=reloadPage; }}
else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
reloadPage(true);
//trova l'oggetto
function findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}
//mostra nascondi i livelli
function showHideLayers() {
var i,p,v,obj,args=showHideLayers.arguments;
for (i=0; i<(args.length-2); i+=3) if ((obj=findObj(args[i]))!=null) { v=args[i+2];
if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
obj.visibility=v;}
}
//setta la distanza dall'alto
function setTopLayers() {
var i,p,v,obj,args=setTopLayers.arguments;
for (i=0; i<(args.length-2); i+=3) if ((obj=findObj(args[i]))!=null) {
v=args[i+2];
obj.style.top=v;}
}
//setta la distanza da sinistra
function setLeftLayers() {
var i,p,v,obj,args=setLeftLayers.arguments;
for (i=0; i<(args.length-2); i+=3) if ((obj=findObj(args[i]))!=null) {
v=args[i+2];
obj.style.left=v;}
}
//illumina i pulsanti
function light(id)
{
id.style.background='#3300CC';
id.style.color='#FFFFFF';
}
//disillumina i pulsanti
function lightoff(id)
{
id.style.background='white';
id.style.color='menuText';
}
//identifico il browser
OP = ((ind1 = navigator.userAgent.indexOf("Opera")) > -1) ? 1 : 0;
punto = (OP) ? navigator.userAgent.indexOf(".",ind1):0;
IE = ((ind2 = navigator.appVersion.indexOf("MSIE")) > -1 && !OP) ? 1 : 0;
NN = (navigator.appName.indexOf("Netscape")>-1) ? 1 : 0;
//setto l'array per i livelli multidimensionale
//ogni sotto array rappresenta il livello
Nlayer = new Array();
Nlayer[0] = new Array('menu');
Nlayer[1] = new Array('menu1');
Nlayer[2] = new Array('menu2');
//scrivo i livelli
var contenuto = "";
var cartella = "tastodestro2/"; // Posizione delle immagini Es: C:/Windows/Immagini/ (non dimenticare il "/" finale !)
contenuto += '<STYLE></STYLE>';
contenuto += '<DIV ID="menu" width="180" style="position: absolute; top: -999; left: -999; visibility: hidden; cursor: hand; background: white; color: menuText; border-style: outset; border-width: 2px; font-family: Ms Shell Dlg; font-size: 10px; padding-left: 10px; padding-right: 10px; padding-top: 3px; padding-bottom: 3px">';
contenuto += '<div class="pulsanti" onmouseover="light(this);nascondi2(0);" onmouseout="lightoff(this)" onmousedown="go(\'http://www.libero.it\')">[img]' + cartella + 'menu_indietro.gif[/img]<U>I</U>ndietro</div>';
contenuto += '<div class="pulsanti" onmouseover="light(this);mostra2(\'menu1\',1)" onmouseout="lightoff(this)">[img]' + cartella + 'menu_avanti.gif[/img]A<U>v</U>anti</div>';
contenuto += '<div class="pulsanti" onmouseover="light(this);nascondi2(0);" onmouseout="lightoff(this)">[img]' + cartella + 'menu_home.gif[/img]Imposta <U>H</U>ome Page</div>';
contenuto += '<div class="pulsanti" onmouseover="light(this);nascondi2(0);" onmouseout="lightoff(this)">[img]' + cartella + 'menu_preferiti.gif[/img]Aggiungi a <U>P</U>referiti</div>';
contenuto += '<div class="pulsanti" onmouseover="light(this);nascondi2(0);" onmouseout="lightoff(this)">[img]' + cartella + 'menu_cerca.gif[/img]<U>C</U>erca nel Web</div>';
contenuto += '<div class="pulsanti" onmouseover="light(this);nascondi2(0);" onmouseout="lightoff(this)">[img]' + cartella + 'menu_html.gif[/img]<U>H</U>TML</div>';
contenuto += '<div class="pulsanti" onmouseover="light(this);nascondi2(0);" onmouseout="lightoff(this)">[img]' + cartella + 'menu_aggiorna.gif[/img]<U>A</U>ggiorna</div>';
contenuto += '<div class="pulsanti" onmouseover="light(this);nascondi2(0);" onmouseout="lightoff(this)">[img]' + cartella + 'menu_stampa.gif[/img]S<U>t</U>ampa</div>';
contenuto += '<div class="pulsanti" onmouseover="light(this);nascondi2(0);" onmouseout="lightoff(this)">[img]' + cartella + 'menu_email.gif[/img]Nuovo <U>m</U>essaggio</div>';
contenuto += '<div class="pulsanti" onmouseover="light(this);nascondi2(0);" onmouseout="lightoff(this)">[img]' + cartella + 'menu_news.gif[/img]Leggi <U>n</U>ews</div>';
contenuto += '<div class="pulsanti" onmouseover="light(this);document.write(Nlayer)" onmouseout="lightoff(this)">[img]' + cartella + 'menu_info.gif[/img]I<U>n</U>formazioni</div>';
contenuto += '</DIV>';
contenuto += '<STYLE></STYLE>';
contenuto += '<DIV ID="menu1" style="position: absolute; top: 9; left: 11; visibility: hidden; cursor: hand; background: white; color: menuText; border-style: outset; border-width: 2px; font-family: Ms Shell Dlg; font-size: 10px; padding-left: 10px; padding-right: 10px; padding-top: 3px; padding-bottom: 3px">';
contenuto += '<div class="pulsanti" onmouseover="light(this);nascondi2(1)" onmouseout="lightoff(this)" onmousedown="go(\'http://www.libero.it\')">[img]' + cartella + 'menu_indietro.gif[/img]<U>I</U>ndietro2</div>';
contenuto += '<div class="pulsanti" onmouseover="light(this);nascondi2(1)" onmouseout="lightoff(this)">[img]' + cartella + 'menu_avanti.gif[/img]A<U>v</U>anti2</div>';
contenuto += '<div class="pulsanti" onmouseover="light(this);nascondi2(1)" onmouseout="lightoff(this)">[img]' + cartella + 'menu_home.gif[/img]Imposta <U>H</U>ome Page2</div>';
contenuto += '<div class="pulsanti" onmouseover="light(this);nascondi2(1)" onmouseout="lightoff(this)">[img]' + cartella + 'menu_preferiti.gif[/img]Aggiungi a <U>P</U>referiti2</div>';
contenuto += '<div class="pulsanti" onmouseover="light(this);nascondi2(1)" onmouseout="lightoff(this)">[img]' + cartella + 'menu_cerca.gif[/img]<U>C</U>erca nel Web2</div>';
contenuto += '<div class="pulsanti" onmouseover="light(this);nascondi2(1)" onmouseout="lightoff(this)">[img]' + cartella + 'menu_html.gif[/img]<U>H</U>TML2</div>';
contenuto += '<div class="pulsanti" onmouseover="light(this);nascondi2(1)" onmouseout="lightoff(this)">[img]' + cartella + 'menu_aggiorna.gif[/img]<U>A</U>ggiorna2</div>';
contenuto += '<div class="pulsanti" onmouseover="light(this);nascondi2(1)" onmouseout="lightoff(this)">[img]' + cartella + 'menu_stampa.gif[/img]S<U>t</U>ampa2</div>';
contenuto += '<div class="pulsanti" onmouseover="light(this);nascondi2(1)" onmouseout="lightoff(this)">[img]' + cartella + 'menu_email.gif[/img]Nuovo <U>m</U>essaggio2</div>';
contenuto += '<div class="pulsanti" onmouseover="light(this);nascondi2(1);mostra2(\'menu2\',2)" onmouseout="lightoff(this)">[img]' + cartella + 'menu_news.gif[/img]Leggi <U>n</U>ews2</div>';
contenuto += '</DIV>';
contenuto += '<STYLE></STYLE>';
contenuto += '<DIV ID="menu2" style="position: absolute; top: 9; left: 11; visibility: hidden; cursor: hand; background: white; color: menuText; border-style: outset; border-width: 2px; font-family: Ms Shell Dlg; font-size: 10px; padding-left: 10px; padding-right: 10px; padding-top: 3px; padding-bottom: 3px">';
contenuto += '<div class="pulsanti" onmouseover="light(this);nascondi2(2)" onmouseout="lightoff(this)">[img]' + cartella + 'menu_avanti.gif[/img]A<U>v</U>anti2</div>';
contenuto += '<div class="pulsanti" onmouseover="light(this);nascondi2(2)" onmouseout="lightoff(this)">[img]' + cartella + 'menu_home.gif[/img]Imposta <U>H</U>ome Page2</div>';
contenuto += '<div class="pulsanti" onmouseover="light(this);nascondi2(2)" onmouseout="lightoff(this)">[img]' + cartella + 'menu_preferiti.gif[/img]Aggiungi a <U>P</U>referiti2</div>';
contenuto += '<div class="pulsanti" onmouseover="light(this);nascondi2(2)" onmouseout="lightoff(this)">[img]' + cartella + 'menu_cerca.gif[/img]<U>C</U>erca nel Web2</div>';
contenuto += '<div class="pulsanti" onmouseover="light(this);nascondi2(2)" onmouseout="lightoff(this)">[img]' + cartella + 'menu_html.gif[/img]<U>H</U>TML2</div>';
contenuto += '<div class="pulsanti" onmouseover="light(this);nascondi2(2)" onmouseout="lightoff(this)">[img]' + cartella + 'menu_aggiorna.gif[/img]<U>A</U>ggiorna2</div>';
contenuto += '<div class="pulsanti" onmouseover="light(this);nascondi2(2)" onmouseout="lightoff(this)">[img]' + cartella + 'menu_stampa.gif[/img]S<U>t</U>ampa2</div>';
contenuto += '<div class="pulsanti" onmouseover="light(this);nascondi2(2)" onmouseout="lightoff(this)">[img]' + cartella + 'menu_email.gif[/img]Nuovo <U>m</U>essaggio2</div>';
contenuto += '<div class="pulsanti" onmouseover="light(this);nascondi2(2)" onmouseout="lightoff(this)">[img]' + cartella + 'menu_news.gif[/img]Leggi <U>n</U>ews2</div>';
contenuto += '<div class="pulsanti" onmouseover="light(this);nascondi2(2)" onmouseout="lightoff(this)">[img]' + cartella + 'menu_info.gif[/img]I<U>n</U>formazioni2</div>';
contenuto += '</DIV>';
document.write (contenuto);
//catturo il movimento e le azioni del mouse
if (NN)
{
window.captureEvents(Event.MOUSEMOVE);
window.onmousemove=move;
}
else if (IE)
{
document.onmousemove=move;
}
//setto sull' asse xy dove è il mouse
function move(e)
{
if (IE)
{ax=window.event.clientX, ay=window.event.clientY;}
else if (NN)
{ax=e.pageX, ay=e.pageY;}
}
//mostro il menu principale
function mostra()
{
ax2=ax;
setTopLayers('menu','',ay-10);
setLeftLayers('menu','',ax-10)
showHideLayers('menu','','show');
return false;
}
//mostro i sotto menu
function mostra2(layer,numb)
{
ay2=ay;
setTopLayers(layer,'',ay-30);
setLeftLayers(layer,'',ax2+(180*numb))
showHideLayers(layer,'','show');
return false;
}
//nascondo il menu principale
function nascondi()
{
nascondi2(0);
showHideLayers('menu','','hide');
}