Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Menù Javascript

  1. #1

    Menù Javascript

    Salve a tutti,
    premetto le mie scarse conoscenze javascript.

    Mi sto cimentando nella creazione di un menù dinamico verticale formato da voci di menù superiori e sotto menù che si apre cliccando sulle voci del livello superiore.
    Fin qui tutto ok, il problema sorge però quando cambio pagina e vado su una pagine che ho cliccato dal sotto menu, il menu riparte da zero, io invece vorrei che rimanesse aperto e che la pagina che sto visitando rimanga evidenziata fino a quando la sto visitando.

    Qui di seguito vi posto il codice.

    Questo è il codice Javascript:

    codice:
    var prev="null";
    
    window.onload=function(){
    if(document.getElementsByTagName && document.getElementById){
        document.getElementById("nav").className="jsenable";
        BuildList();
        }
    }
    
    function BuildList(){
    var hs=document.getElementById("nav").getElementsByTagName("p");
    for(var i=0;i<hs.length;i++){
        hs[i].onclick=function(){
            if(this.parentNode.className!="show"){
                this.parentNode.className="show";
                if(prev && prev!=this.parentNode) prev.className="hide";
                prev=this.parentNode;
                }
            else this.parentNode.className="hide";
            }
        }
    }
    Questo è il codice nella pagina Html

    codice:
                        <div id="nav">[*]
    
    Artist</p>
                                <ul>[*]Paolo Rossi[/list]
                            
    [*]
    
    News</p> 
    [*]
    
    Mag</p>
                                <ul>[*]01 Come verrà distrutta Roma                   [/list]
                            
    [*]
    
    Contacts</p>[/list]
                    </div>
    Mentre questo è il codice CSS:

    codice:
    div.jsenable p{
    cursor: pointer
    }
    
    div.jsenable ul ul{
    display:none
    }
    
    div#nav li.hide ul{
    display:none
    }
    
    div#nav li.show ul{
    display:block
    }
    
    div#nav li.show a:selected{
    font-weight: bold;
    }
    Spero di essere stato chiaro e che qualcuno mi possa aiutare.

    Ringrazio tutti in anticipo...Grazie.

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    se non ho capito male quello che vuoi è memorizzare lo stato del menu.
    Un paio di domande:

    - per far funzionare il menu hai replicato il codice in tutte le pagine?
    - oltre js hai la possibilità di utilizzare un linguaggio server side?

  3. #3
    Ciao Vindav,

    Si esatto vorrei mantenere lo stato del menù per indicare all'utente sempre dove si trova.

    Il codice del menù si trova solo su una pagina che poi richiamo nel resto delle pagine con una require_once, per quanto riguarda liguagi lato server non ci sono problemi li posso usare.

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    bene, allora ti conviene fare tutto con php, quello che devi fare è:

    - salvare in memoria(in sessione per esempio) il sotto menu attivo.
    - creare dinamicamente la parte html basandoti sul parametro salvato in memoria

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.