45fan.com - 路饭网

搜索: 您的位置主页 > 网络频道 > 阅读资讯:如何实现树状结构导航条css+javascript?

如何实现树状结构导航条css+javascript?

2016-08-27 12:49:28 来源:www.45fan.com 【

如何实现树状结构导航条css+javascript?

要做一个可以展开折叠的树状导航条,到网上看了一些实现,感觉都比较麻烦,js的代码量都不小,我的应用要求不复杂,但是要求树状结构的内容是可以改变的 。所以最后还是自己试着写了一个。

下面是演示代码,你可以按照自己的需求改变div中的内容,动态的生成div部分代码就可以实现tree结构的动态建立。

<html>

<script>

function changevisible(element){

var children = element.parentNode.childNodes;

for(var i= 0; i<children.length;i++){

if(children[i].nodeName == "DIV"){

var className = children[i].className;

if(className == "show"){

element.className="fold";

children[i].className="hidden";

}

else{

element.className="expend";

children[i].className="show";

}

}

}

}

</script>

<style type="text/css">

div.show{

display:block;

width:100%;

background-color:#339966;

}

div.hidden{

display:none;

}

span.fold{

width:20px;

height:20px;

padding:0px 10px 0px 10px;

background-image:url("P1.gif");

background-repeat:no-repeat;

}

span.expend{

width:20px;

height:20px;

padding:0px 10px 0px 10px;

background-image:url("M1.gif");

background-repeat:no-repeat;

}

span.2blank{

width:20px;

}

span.3blank{

width:40px;

}

span.def{

width:20px;

height:20px;

padding:0px 10px 0px 10px;

background-image:url("D.gif");

background-repeat:no-repeat;

}

</style>

<body>

<div id="sidenav">

<div class="show"><span class="fold" onclick="changevisible(this)">&nbsp;</span>10

<div class="hidden"><span class="2blank">&nbsp;</span><span class="fold" onclick="changevisible(this)">&nbsp;</span>20</div>

<div class="hidden"><span class="2blank">&nbsp;</span><span class="fold" onclick="changevisible(this)">&nbsp;</span>21</div>

<div class="hidden"><span class="2blank">&nbsp;</span><span class="fold" onclick="changevisible(this)">&nbsp;</span>22

<div class="hidden"><span class="3blank">&nbsp;&nbsp;</span><span class="def">&nbsp;</span>30</div>

<div class="hidden"><span class="3blank">&nbsp;&nbsp;</span><span class="def">&nbsp;</span>31</div>

</div>

</div>

</div>

</body>

</html>

下面是效果演示:

+10
(由于展开和收起的图标使用的相对链接,利用改变span的className属性来改变图标,在blog里不方便实用,暂且用+代替原来图表的位置,大家使用的时候可以用你自己的图标代替M1.gif 、P1.gif、D.gif,和你的页面放在一层文件夹下即可)
 

本文地址:http://www.45fan.com/a/question/68389.html
Tags: 导航 结构 树状
编辑:路饭网
关于我们 | 联系我们 | 友情链接 | 网站地图 | Sitemap | App | 返回顶部