Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    menu tasto dx - ce l'ho fatta mi sento un Dio

    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==truewith (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
        
    document.MM_pgW=innerWidthdocument.MM_pgH=innerHeightonresize=reloadPage; }}
      else if (
    innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgHlocation.reload();
    }
    reloadPage(true);

    //trova l'oggetto
    function findObj(nd) { //v4.01
      
    var p,i,x;  if(!dd=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
        
    d=parent.frames[n.substring(p+1)].documentn=n.substring(0,p);}
      if(!(
    x=d[n])&&d.allx=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(!
    && d.getElementByIdx=d.getElementById(n); return x;
    }

    //mostra nascondi i livelli
    function showHideLayers() {
      var 
    i,p,v,obj,args=showHideLayers.arguments;
      for (
    i=0i<(args.length-2); i+=3) if ((obj=findObj(args[i]))!=null) { v=args[i+2];
        if (
    obj.style) { obj=obj.stylev=(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=0i<(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=0i<(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) ? 0;
    punto = (OP) ? navigator.userAgent.indexOf(".",ind1):0;
    IE = ((ind2 navigator.appVersion.indexOf("MSIE")) > -&& !OP) ? 0;
    NN = (navigator.appName.indexOf("Netscape")>-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.clientXay=window.event.clientY;}      
        else if (
    NN)
            {
    ax=e.pageXay=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');
      } 

  2. #2
    e poi:
    Codice PHP:
    //nascondo i sotto menu
    function nascondi2(level)
      {
         for(
    a=0;a<Nlayer.length;a++)
         {
             if(
    level)
             {
               for(
    i=0;Nlayer[a].length;i++)
                   {
                   
    Nowlayer Nlayer[a][i];
                   
    showHideLayers(Nowlayer,'','hide');
                   }
             }
         }
      }

    //vado al link richiesto
    function go(address){
        
    nascondi2(0);
      
    self.location=address;    
    }

    //se cliccano col tasto destro mostro il menu
    document.oncontextmenu=mostra;
    //se cliccano col sinistro nascondo il menu
    document.onmousedown=nascondi

  3. #3
    non è che qualcuno ha un idea su come far si che se il puntatore del mouse esce dalle aree dei submenu questi si chiudano automaticamente?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.