DIV+CSS构成的树型菜单

本文介绍了一种使用JavaScript和CSS实现的简洁树型菜单。该菜单通过简单的代码实现了展开和折叠功能,并展示了具体的实现步骤,包括定义JS函数、设置CSS样式及构建HTML结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

作者:海水发布时间:05-12-03浏览次数:545[大 中 小]

了做个树型菜单,看了很多代码,但都没这个简洁,外国人写的,一起分享下:
1 先定义个JS:

<script type="text/javascript">
function toggleMenu(id){
element = document.getElementById(id);
element.className = (element.className.toLowerCase() == 'expanded'?'collapsed':'expande
d');
}
onload = function() {//自动载入闭合状态
toggleMenu('submenuid0');
toggleMenu('submenuid1');
}
</script>


2 css

body {
margin: 0px;
padding: 0;
font: 12px "Lucida Grande", Verdana, Arial, Helvetica, sans-serif;
background: #FFFFFF;
text-align: center;
}

ul{
margin: 0;
padding: 0;
list-style: none;
}

#treenav {
margin: 10px;
text-align: left;
}

#treenav ul li {
margin: 1px 0;
padding: 0;
font-size: 11px;
}

#treenav ul.expanded {
display: block;
}

#treenav ul.expanded,#treenav ul.collapsed {
margin: 5px 10px;
}

#treenav ul.collapsed {
display: none;
}

.expanded li,.collapsed li{
/*border-bottom: 1px dashed #CCCCCC;*/
width: 200px;
}

.listhead {
font-weight: bold;
display: block;
font-size: 12px;
color: #333333;
background: #F1F1F1;
padding: 3px;
width: 120px;
margin: 1px 0;
}

#treenav a {
text-decoration: none;
color: #666666;
}

#treenav a:hover {
color: #990000;
}


3 定义树型结构

<!-------------------------------------------------------------------------------------------------------->
<ul>
      <li><a href="somepage" onclick="toggleMenu('submenuid0'); return false;" class="listhea
d">第一章 前言</a> 
  
        <ul class="expanded" id="submenuid0">

  <li><a href="#" onclick="toggleMenu('sub0_submenuid1');">第一节 网站设计概述</a>
     <ul class="collapsed" id="sub0_submenuid1">
     <li><a href="#">网页制作一般过程</a></li>
     <li><a href="#">网页设计的价格标准</a></li>          
 </ul>
  </li>  
  
  <li><a href="#" onclick="toggleMenu('sub0_submenuid2');">第二节 网站设计概述</a>
     <ul class="collapsed" id="sub0_submenuid2">
     <li><a href="#">网页设计的价格标准</a></li>          
 </ul>
  </li> 
        
</ul>

  </li>
 </ul>
<!-------------------------------------------------------------------------------------------------------->
<ul>
      <li><a href="somepage" onclick="toggleMenu('submenuid1'); return false;" class="listhea
d">第一章 前言</a> 
  
        <ul class="expanded" id="submenuid1">

  <li><a href="#" onclick="toggleMenu('sub1_submenuid1');">第一节 网站设计概述</a>
     <ul class="collapsed" id="sub1_submenuid1">
     <li><a href="#">网页制作一般过程</a></li>
     <li><a href="#">网页制作一般过程</a></li>
     <li><a href="#">网页制作一般过程</a></li>
     <li><a href="#">网页制作一般过程</a></li>
     <li><a href="#">网页设计的价格标准</a></li>
     <li><a href="#">网页设计的价格标准</a></li>          
 </ul>
  </li>  
  
  <li><a href="#" onclick="toggleMenu('sub1_submenuid2');">第二节 网站设计概述</a>
     <ul class="collapsed" id="sub1_submenuid2">
     <li><a href="#">网页制作一般过程</a></li>
     <li><a href="#">网页制作一般过程</a></li>
     <li><a href="#">网页制作一般过程</a></li>
     <li><a href="#">网页制作一般过程</a></li>
     <li><a href="#">网页设计的价格标准</a></li>
     <li><a href="#">网页设计的价格标准</a></li>          
 </ul>
  </li> 
        
</ul>

  </li>
 </ul>

<!--------------------------------------------------------------------------------------------------------> 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值