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

    menu multilivel javascript

    ho questo menu preso da html.it:


    codice:
    <body>
    
    <div id="nav">
    <ul>
    
      
    [*]
      <h3>Linguaggi</h3>
        
    
        <ul>
    [*]CSS
    [*]Javascript
    [*]DOM
    [*]PHP
    [/list]
    
      
    [*]
        <h3>Software</h3>
    
        <ul>
    [*]Photoshop
    [*]Flash
    [*]Fireworks
    [*]Dreamweaver
    [/list]
    
      
    [*]
        <h3>Webdesign</h3>
    
        <ul>
    [*]Webdesign
    [*]Accessibilit&agrave;
    [*]Usabilit&agrave;
    [/list]
    
      
    [/list]
    
    </div>
    
    </body>
    </html>
    con il seguente foglio di stile correlato:


    codice:
    /*css del menu*/
    div#nav{
    width:180px;
    margin-left: 30px;
    background: #00005A;
    border: 1px solid #00005A; 
    font: 11px Arial, Helvetica, sans-serif;
    }
    div#nav h3{
    font-size: 100%;
    margin: 0;
    padding: 4px 10px;
    border-top: 1px solid #FFF;
    color: #FFF;
    background-color: #c7d8e8;
    }
    
    div#nav ul,div#nav li
    {
    margin: 0;
    padding: 0;
    list-style-type: none;
    }
    div#nav li{
    margin: 0 0 1px 0;
    }
    div#nav a{
    display: block;
    padding-left: 15px;
    height: 18px;
    line-height: 18px;
    border-top: 1px solid #FFF;
    background-color: #BDBDBD;
    color: #000;
    text-decoration: none;
    font-weight: bold;
    }
    div#nav a:hover{
    color: #00005A;
    background-color: #c7d8e8;
    }
    div#nav ul ul a{
    color: #333; 
    background-color: #ffffff;
    font-weight: normal;
    }
    
    
    div#nav h3.voceselezionata {
    color: #fff;
    background: #233e6d;
    } 
       
       
       
    div#nav h3.voceselezionata a:active {
    background: #000;
    color: #fff;
    }
    ed il seguente javascript:

    codice:
    //javascript per il menu espandibile con massimo un livello aperto
    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("h3");
    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";
            }
        }
    }

    io vorrei che all'inizio vi fossero tutte le voci chiuse e che ne rimanesse una sola alla volta aperta...qualche consiglio,idea o link?
    Grazie

  2. #2
    guarda questo esempio
    mi sembra faccia al caso tuo


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.