JavaScript之樹形菜單

在我們的寫前端程序的時候,經常會遇到要使用樹形菜單或者下拉菜單的地方,這裏我寫了一個樹形菜單。有一個知識點需要了解一下,就是display和visibility的區別。簡而言之,將元素的visibility屬性設置成hidden之後,元素不可見但是元素所佔據的位置依然存在,而將元素display屬性設置成none之後,元素不可見並且不佔據任何位置。現在網頁爲了在一定的空間裏顯示更多的信息一般使用的是display屬性。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>

        ul{
            list-style: none;
            width: 150px;
            margin: 0px;
            padding: 0px;
            display: none;
        }

        ul li{
            margin-top: 10px;
            padding: 15px 20px;
            background-color: chocolate;
        }
    </style>
</head>
<body>
<a id="car" href="javascript:show('carlist')">汽車</a>
<ul id="carlist">
    <li>寶馬</li>
    <li>奔馳</li>
    <li>大衆</li>
    <li>雷克薩斯</li>
</ul>
<br>
<!--注意這裏函數的調用方式,這裏調用ul id的時候只能用單引號-->
<a id="school" href="javascript:show('schoollist')">學校</a>
<ul id="schoollist">
    <li>北京大學</li>
    <li>清華大學</li>
    <li>國防科技大學</li>
    <li>廈門大學</li>
</ul>
</body>
<script>
function show(ele) {
//    下面的ele不要加單引號或者雙引號,直接使用ele即可
    if (document.getElementById(ele).style.display == "block"){
        document.getElementById(ele).style.display = "none";
    }else{
        document.getElementById(ele).style.display = "block";
    }

}
</script>
</html>
注:源碼可直接運行

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章