1. 程式人生 > >js實現三級選單的製作

js實現三級選單的製作

HTML程式碼:

<body>
<div class="navMenu">
    <ul>
        <li><a href="#">首頁</a>
            <ul>
                <li><a href="#">JavaScript+</a>
                    <ul>
                        <li><a href="#">三角函式</a></li>
                        <li><a href="#">矩形</a></li>
                    </ul>
                </li>
                <li><a href="#">語文</a>
                    <ul>
                        <li><a href="#">唐詩</a></li>
                        <li><a href="#">宋詞</a></li>
                    </ul>
                </li>
                <li><a href="#">英語</a></li>
            </ul>
        </li>
        <li><a href="#">課程大廳</a></li>
        <li><a href="#">學習中心+</a>
            <ul>
                <li><a href="#">JavaScript+</a>
                    <ul>
                        <li><a href="#">三角函式</a></li>
                        <li><a href="#">矩形</a></li>
                    </ul>
                </li>
                <li><a href="#">語文</a>
                    <ul>
                        <li><a href="#">三角函式</a></li>
                        <li><a href="#">矩形</a></li>
                    </ul>
                </li>
                <li><a href="#">英語</a></li>
            </ul>
        </li>
        <li><a href="#">幫助</a></li>
    </ul>
</div>
</body>

css程式碼:

 *{
            padding:0;
            margin:0;
        }
        /*一級選單*/
        .navMenu {
            width:570px;
            margin:0 auto;
        }
        .navMenu ul li{
            float: left;
            position: relative;
        }
        li{
            list-style: none;
            background-color: #eee;
            width: 140px;
            height: 40px;
            text-align: center;
            margin-right: 2px;
            margin-bottom: 2px;
        }
        ul li a{
            line-height: 40px;
            text-align: center;
            font-size: 20px;
            color: #000;
            text-decoration: none;
            display: block;
            padding:0 10px;
        }
        /*二級選單*/
        .navMenu ul li ul {
            display: none;
            position:absolute;
            left: 0;
            top:0;
            margin-top:42px;
        }
        .navMenu ul li ul li{
            float:none;
        }
        /*三級選單*/
        .navMenu ul li ul li ul{
            display: none;
            left:140px;
            top:-42px;
        }


js程式碼:
<script type="text/javascript">
    function addLoadEvent(func){          //func為將要繫結到window.onload上的函式;
        var oldonload=window.onload;    //可能已經綁定了一些函式
        if(typeof window.onload!='function'){  //如果在這個處理函式上還沒有繫結任何函式,就像平時那樣把新函式新增給它
            window.onload=func();
        }
        else{                                   //如果在這個處理函式上已經綁定了一些函式,就把新函式追加到現在指令的末尾
            window.onload=function(){
                oldonload();
                func();
            }
        }
    }
    function Hover(){
            var Lis=document.getElementsByTagName("li");
            for(var i= 0,len=Lis.length; i<len; i++){
                Lis[i].onmouseover=function(){
                    var secondUl=this.getElementsByTagName("ul")[0];
                    if(secondUl!=undefined){
                        secondUl.style.display="block";
                    }
                    this.style.backgroundColor="#0066FF";
                }
                Lis[i].onmouseout=function(){
                    var secondUl=this.getElementsByTagName("ul")[0];
                    if(secondUl!=undefined){
                        secondUl.style.display="none";
                    }
                    this.style.backgroundColor="#eee";
                }
            }
    }
    addLoadEvent(Hover);
</script>