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>
注:源码可直接运行

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