<html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

<title>JS+CSS打造三级折叠菜单,自动收缩其它级</title>

<style>

*,body,ul,h1,h2{ margin:0; padding:0; list-style:none;}

body{font:12px "宋体"; padding-top:20px;} a{ color:white;border:none;}

#menu { width:200px; margin:auto;}

#menu h1 { font-size:12px; border:gray 1px solid; margin-top:1px;  background-color:gray;}

#menu h2 { font-size:12px; border:#E7E7E7 1px solid; border-top-color:#FFF; background-color:#00CCFF;}

#menu ul { padding-left:0px; height:auto;border:#E7E7E7 1px solid; border-top:none;overflow:auto;}

#menu a { display:block; padding:5px 0 3px 10px; text-decoration:none; overflow:hidden;}

#menu ul a { display:block; padding:5px 0 3px 15px; text-decoration:none; overflow:hidden;background-color:white;color:black;}

#menu ul a:hover  {      color:Black;background:red;      }

#menu a:hover{ color:white; background:red;}  #menu .no {display:none;}

</style>

<script language="JavaScript">

function ShowMenu(obj, n) {

var Nav = obj.parentNode;

if (!Nav.id) {

var BName = Nav.getElementsByTagName("ul");

var HName = Nav.getElementsByTagName("h2");

var t = 2;

} else {

var BName = document.getElementById(Nav.id).getElementsByTagName("span");

var HName = document.getElementById(Nav.id).getElementsByTagName("h1");

var t = 1;

}

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

HName[i].innerHTML = HName[i].innerHTML.replace("-", "+");

HName[i].className = "";

}

obj.className = "h" + t;

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

{ if (i != n) { BName[i].className = "no"; } }

if (BName[n].className == "no") {

BName[n].className = "";

obj.innerHTML = obj.innerHTML.replace("+", "-");

} else {

BName[n].className = "no";

obj.className = "";

obj.innerHTML = obj.innerHTML.replace("-", "+");

}

}

</script>

</head>

<body>

<div id="menu">

<h1 onclick="javascript:ShowMenu(this,0)"><a href="javascript:void(0)">+ 一级菜单A</a></h1>

<span class="no">

<h2 onclick="javascript:ShowMenu(this,0)"><a href="javascript:void(0)">+ 一级菜单A_1</a></h2>

<ul class="no">

<a href="javascript:void(0)">一级菜单A_0</a>

<a href="javascript:void(0)">一级菜单A_1</a>

<a href="javascript:void(0)">一级菜单A_2</a>

<a href="javascript:void(0)">一级菜单A_3</a>

</ul>

<h2 onclick="javascript:ShowMenu(this,1)"><a href="javascript:void(0)">+ 一级菜单A_2</a></h2>

<ul class="no">    <a href="javascript:void(0)">一级菜单A_0</a>

<a href="javascript:void(0)">一级菜单A_1</a>

<a href="javascript:void(0)">一级菜单A_2</a>

<a href="javascript:void(0)">一级菜单A_3</a>

</ul>  </span>

<h1 onclick="javascript:ShowMenu(this,1)"><a href="javascript:void(0)">+ 二级菜单B</a></h1>

<span class="no">

<h2 onclick="javascript:ShowMenu(this,0)"><a href="javascript:void(0)">+ 二级菜单B_1</a></h2>

<ul class="no">

<a href="javascript:void(0)">二级菜单B_0</a>

<a href="javascript:void(0)">二级菜单B_1</a>

<a href="javascript:void(0)">二级菜单B_2</a>

<a href="javascript:void(0)">二级菜单B_3</a>

</ul>

<h2 onclick="javascript:ShowMenu(this,1)">

<a href="javascript:void(0)">+ 二级菜单B_2</a></h2>

<ul class="no">    <a href="javascript:void(0)">二级菜单B_0</a>

<a href="javascript:void(0)">二级菜单B_1</a>

<a href="javascript:void(0)">二级菜单B_2</a>

</ul>  </span>

<h1 onclick="javascript:ShowMenu(this,2)">

<a href="javascript:void(0)">+ 三级菜单C</a></h1>

<span class="no">   <h2 onclick="javascript:ShowMenu(this,0)">

<a href="javascript:void(0)">+ 三级菜单C_1</a></h2>

<ul class="no">    <a href="javascript:void(0)">三级菜单C_0</a>

<a href="javascript:void(0)">三级菜单C_1</a>

<a href="javascript:void(0)">三级菜单C_2</a>   </ul>

<h2 onclick="javascript:ShowMenu(this,1)">

<a href="javascript:void(0)">+ 三级菜单C_2</a></h2>

<ul class="no">    <a href="javascript:void(0)">三级菜单C_0</a>

<a href="javascript:void(0)">三级菜单C_1</a>   </ul>  </span>

<h1 onclick="javascript:ShowMenu(this,3)">

<a href="javascript:void(0)">+ 四级菜单D</a></h1>  <span class="no">

<h2 onclick="javascript:ShowMenu(this,0)">

<a href="javascript:void(0)">+ 四级菜单D_1</a></h2>   <ul class="no">

<a href="javascript:void(0)">四级菜单D_0</a>

<a href="javascript:void(0)">四级菜单D_1</a>   </ul>

<h2 onclick="javascript:ShowMenu(this,1)">

<a href="javascript:void(0)">+ 四级菜单D_2</a></h2>   <ul class="no">

<a href="javascript:void(0)">四级菜单D_0</a>

<a href="javascript:void(0)">四级菜单D_1</a>

<a href="javascript:void(0)">四级菜单D_2</a>

<a href="javascript:void(0)">四级菜单D_3</a>

</ul>

</span>

</div>

</body>

</html>

JS+CSS打造三级折叠菜单,自动收缩其它级 js的更多相关文章

  1. JS三级折叠菜单特效 自动收缩其它级

    真的很不错!很实用,在IE6.IE7.IE8.FF.chrome等浏览器都正常运行,去掉CSS中 #menu ul中 {height:100px; overflow:auto;} 即可高度自适应 &l ...

  2. 基于jquery打造的网页右侧自动收缩浮动在线客服代码

    基于jquery打造的网页右侧自动收缩浮动在线QQ客服代码, 当前比较流行的一款QQ在线jquery特效代码, 代码中还带有IE6下PNG图片透明的特效,如果想研究IE6下PNG透明的同学也可以下载研 ...

  3. 【酷】JS+CSS打造沿Y轴纵深运动的3D球体

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...

  4. CSS打造三级下拉菜单

    <html><head><meta http-equiv="Content-Type" content="text/html; charse ...

  5. css 实现三级联动菜单

    昨天因为项目中想要把二级联动菜单改成三级联动菜单,所以我就单独写了一个tab导航栏,用纯css的方式实现的三级联动.一开始我想着可以用js实现,但是js的hover事件和mouseenter,mous ...

  6. js封装的三级联动菜单(使用时只需要一行js代码)

    前言 在实际的项目开发中,我们经常需要三级联动,比如省市区的选择,商品的三级分类的选择等等. 而网上却找不到一个代码完整.功能强大.使用简单的三级联动菜单,大都只是简单的讲了一下实现思路. 下面就给大 ...

  7. 用css实现三级导航菜单

    主要使用css的hover伪类来实现该功能. 主要思路:先搭出三级菜单的框架,然后使用css的:hover来实现! 对li添加类selected,对该类添加position:relative属性,然后 ...

  8. JS CSS写下拉菜单 竖行

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. 转: javascript实现全国城市三级联动菜单代码

    <html> <head> <title>js全国城市三级联动菜单代码_B5教程网</title> <meta http-equiv=" ...

随机推荐

  1. Spring—Hibernate

    1.家jar包 2配置applicationContext与xxx.hbm.xml(根据需要决定是否配置hibernate.hbm.xml) applicationContext.xml <?x ...

  2. C++ 标准模板库(STL)

    C++ 标准模板库(STL)C++ STL (Standard Template Library标准模板库) 是通用类模板和算法的集合,它提供给程序员一些标准的数据结构的实现如 queues(队列), ...

  3. HDU2023-求平均成绩

    描述: 假设一个班有n(n<=50)个学生,每人考m(m<=5)门课,求每个学生的平均成绩和每门课的平均成绩,并输出各科成绩均大于等于平均成绩的学生数量. 输入数据有多个测试实例,每个测试 ...

  4. select标签操作大全

    http://blog.csdn.net/hhhh2012/article/details/8610336

  5. checkbox、select、radio的设置与获取

    参考链接:http://www.cnblogs.com/xiaopin/archive/2011/09/13/2175190.html js版本: <!DOCTYPE html PUBLIC & ...

  6. MyEclipse 在loading workbench 启动卡死

    解决方法: 找到Workspace目录,在.metadata(Mac 下是在 .metadata/.plugins)中删掉以下两个文件 org.eclipse.ui.workbench org.ecl ...

  7. 远程连接MySQL 不允许

    报错:1130-host ... is not allowed to connect to this MySql server 1. 改表法. 可能是你的帐号不允许从远程登陆,只能在localhost ...

  8. python安装集成包

    anaconda, 包含各种科学运算包以及astropy.装完它一劳永逸. https://www.continuum.io/downloads

  9. IOS 学习笔记(4) 控件 标签(UILabel)的使用方法

    虽说Label的中文翻译是标签标记,但它其实是一个静态文本内容的展现控件. 一般来说,UILabel只是一个只读的文本视图,开发者可以利用UiLabel来展示内容长度有固定上限的文字内容.并且,UIL ...

  10. jQuery 层级选择器 + keyCode

    层次选择器 如果想通过DOM元素之间的层次关系来获取特定的元素,例如后代元素,子元素,相邻元素和兄弟元素等,那么层次选择器是一个非常好的选择. 层次选择器规则如下: 层次选择器 选 择 器 描 述 返 ...