JS+CSS实现的竖向简洁折叠菜单效果代码


Posted in Javascript onOctober 22, 2015

本文实例讲述了JS+CSS实现的竖向简洁折叠菜单效果代码。分享给大家供大家参考,具体如下:

这是一款JS+CSS竖向简洁的折叠菜单,支持三级分类,红色垂直型,个人感觉非常棒,希望大家喜欢。

运行效果截图如下:

JS+CSS实现的竖向简洁折叠菜单效果代码

在线演示地址如下:

具体代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml2/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>CSS+Js竖向简洁的折叠菜单</title>
<style>
#outer {width:504px; height:510px; position:relative; background:url(images/red_frog.jpg) no-repeat 0px 160px;}
#outer #content {clear:left; position:absolute; left:230px; top:10px; width:250px; z-index:10;}
#menu {list-style-type:none; padding:0; margin:0; width:125px; position:absolute; top:70px; left:0; border:1px solid #fff; border-width:0 1px 1px; z-index:100;}
#menu ul {list-style-type:none; padding:0; margin:0; width:125px;}
#menu li {float:left; background:#657; position:relative; border-top:1px solid #fff;}
#menu li.sub {background:#d30;}
#menu li, #menu li a {display:block; color:#fff; font-family:arial, sans-serif; font-size:11px; line-height:24px; width:125px; text-decoration:none; cursor:pointer; font-weight:bold; text-indent:5px;}
#menu ul,
#menu li.click ul ul,
#menu li.click ul li.hover ul ul {display:none;}
#menu li.hover {color:#ff0; z-index:500;}
#menu li.click {color:#ff0;}
#menu li.click ul {display:block;}
#menu li.click ul li.hover ul, 
#menu li.click ul li.hover ul li.hover ul {display:block; position:absolute; left:110px; top:-1px; border:1px solid #fff; border-width:0 1px 1px;}
#menu li.click ul li.fly {background: #657 url(images/frog_arrow.gif) no-repeat top right;}
#menu li.click ul li.hover {background:#98a;}
#menu li.click ul li.hover ul li {background:#c60;}
#menu li.click ul li.hover ul li.hover ul li {background:#780; z-index:500;}
#menu li.click ul li.hover ul li.fly {background: #c60 url(images/frog_arrow.gif) no-repeat top right;}
#menu li.click ul li.hover ul li.hover {z-index:500; background:#fa4;}
#menu li.click ul li.hover ul li.hover a {color:#000;}
#menu li.click ul li.hover ul li.hover ul li.hover {background:#aa0;}
#menu li.click ul li.hover ul li.hover ul li.hover a {color:#fff;}
#outer img {display:block; float:right;}
#outer p {margin:0px; padding:17px 0 0 0; color:#000; font-size:12px; font-family:arial, sans-serif; text-align:justify;}
</style>
<script type="text/javascript">
clickMenu = function(menu) {
  var getEls = document.getElementById(menu).getElementsByTagName("LI");
  var getAgn = getEls;
  for (var i=0; i<getEls.length; i++) {
      getEls[i].onclick=function() {
        for (var x=0; x<getAgn.length; x++) {
        getAgn[x].className=getAgn[x].className.replace("unclick", "");
        getAgn[x].className=getAgn[x].className.replace("click", "unclick");
        }
      if ((this.className.indexOf('unclick'))!=-1) {
        this.className=this.className.replace("unclick", "");;
        }
        else {
        this.className+=" click";
        }
      }
      getEls[i].onmouseover=function() {
        this.className+=" hover";
      }
      getEls[i].onmouseout=function() {
        this.className=this.className.replace("hover", "");
      }
    }
  }
</script>
</head>
<body onload="clickMenu('menu')">
<div id="outer">
<ul id="menu">
  <li class="sub">Types
    <ul>
      <li><a href="#nogo">Indian</a></li>
      <li><a href="#nogo">韩国</a></li>
      <li class="fly"><a href="#nogo">美国</a>
        <ul>
          <li><a href="#nogo">朝鲜</a></li>
          <li class="fly"><a href="#nogo">南朝鲜</a>
            <ul>
              <li><a href="#nogo">西大街</a></li>
              <li><a href="#nogo">东大街</a></li>
            </ul>
          </li>
        </ul>
      </li>
      <li><a href="#nogo">日本语</a></li>
      <li><a href="#nogo">简体中文</a></li>
    </ul>
  </li>
  <li class="sub">地区分布
    <ul>
      <li class="fly"><a href="#nogo">北京</a>
        <ul>
          <li><a href="#nogo">Hemiphractus</a></li>
          <li><a href="#nogo">Stefania</a></li>
        </ul>
      </li>
      <li class="fly"><a href="#nogo">河南</a>
        <ul>
          <li><a href="#nogo">Acris</a></li>
          <li><a href="#nogo">Anotheca</a></li>
          <li><a href="#nogo">Trachycephalus</a></li>
        </ul>
      </li>
      <li class="fly"><a href="#nogo9">武汉</a>
        <ul>
          <li><a href="#nogo">Boophis</a></li>
          <li><a href="#nogo">Callixalus</a></li>
          <li><a href="#nogo">Chiromantis</a></li>
        </ul>
      </li>
    </ul>
  </li>
  <li class="sub">References
    <ul>
      <li><a href="#">Wikipedia</a></li>
      <li><a href="#nogo11">Encyclopedia</a></li>
    </ul>
  </li>
  <li class="sub">链接
    <ul>
      <li><a href="#nogo">脚本下载</a></li>
      <li><a href="#nogo">百度搜索</a></li>
    </ul>
  </li>
</ul>
</div>
</body>
</html>

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
JQUERY dialog的用法详细解析
Dec 19 Javascript
jQuery Trim去除字符串首尾空字符的实现方法说明
Feb 11 Javascript
Javascript 赋值机制详解
Nov 23 Javascript
Vue.js表单控件实践
Oct 27 Javascript
javascript闭包功能与用法实例分析
Apr 06 Javascript
通过js修改input、select默认字体颜色
Apr 19 Javascript
详解Node中导入模块require和import的区别
Aug 11 Javascript
简单理解Vue中的nextTick方法
Jan 30 Javascript
4 种滚动吸顶实现方式的比较
Apr 09 Javascript
微信小程序组件传值图示过程详解
Jul 31 Javascript
jQuery实现全选、反选和不选功能的方法详解
Dec 04 jQuery
Vue Cli3 打包配置并自动忽略console.log语句的方法
Apr 23 Javascript
浅谈node.js中async异步编程
Oct 22 #Javascript
JS实现不使用图片仿Windows右键菜单效果代码
Oct 22 #Javascript
JS实现新浪博客左侧的Blog管理菜单效果代码
Oct 22 #Javascript
JS+CSS实现大气清新的滑动菜单效果代码
Oct 22 #Javascript
Webpack 实现 Node.js 代码热替换
Oct 22 #Javascript
JS+CSS实现仿msn风格选项卡效果代码
Oct 22 #Javascript
Node.js巧妙实现Web应用代码热更新
Oct 22 #Javascript
You might like
PHP如何透过ODBC来存取数据库
2006/10/09 PHP
快速开发一个PHP扩展图文教程
2008/12/12 PHP
一篇有意思的技术文章php介绍篇
2010/10/26 PHP
PHP-CGI进程CPU 100% 与 file_get_contents 函数的关系分析
2011/08/15 PHP
PHP程序员常见的40个陋习,你中了几个?
2014/11/20 PHP
js tab 选项卡
2009/04/26 Javascript
js获取TreeView控件选中节点的Text和Value值的方法
2012/11/24 Javascript
原生javaScript做得动态表格(注释写的很清楚)
2013/12/29 Javascript
JS简单实现动画弹出层效果
2015/05/05 Javascript
jQuery层次选择器用法示例
2016/09/09 Javascript
解决bootstrap模态框数据缓存的问题方法
2018/08/10 Javascript
Vue插槽原理与用法详解
2019/03/05 Javascript
详解微信小程序-canvas绘制文字实现自动换行
2019/04/26 Javascript
JavaScript 继承 封装 多态实现及原理详解
2019/07/29 Javascript
layui--js控制switch的切换方法
2019/09/03 Javascript
javascript二维数组和对象的深拷贝与浅拷贝实例分析
2019/10/26 Javascript
解决vant框架做H5时踩过的坑(下拉刷新、上拉加载等)
2020/11/11 Javascript
使用httplib模块来制作Python下HTTP客户端的方法
2015/06/19 Python
python中实现延时回调普通函数示例代码
2017/09/08 Python
详解使用 pyenv 管理多个版本 python 环境
2017/10/19 Python
Python Nose框架编写测试用例方法
2017/10/26 Python
解决已经安装requests,却依然提示No module named requests问题
2018/05/18 Python
Tensorflow使用tfrecord输入数据格式
2018/06/19 Python
python 找出list中最大或者最小几个数的索引方法
2018/10/30 Python
python实现自动获取IP并发送到邮箱
2018/12/26 Python
Django Channels 实现点对点实时聊天和消息推送功能
2019/07/17 Python
selenium+python实现自动登陆QQ邮箱并发送邮件功能
2019/12/13 Python
PyTorch实现AlexNet示例
2020/01/14 Python
Python进程Multiprocessing模块原理解析
2020/02/28 Python
HTML5所有标签汇总及标签意义解释
2015/03/12 HTML / CSS
Chupi官网:在爱尔兰手工制作的订婚、结婚戒指和精美珠宝
2020/09/28 全球购物
新员工试用期自我鉴定
2014/04/17 职场文书
2014年加油站站长工作总结
2014/12/23 职场文书
golang内置函数len的小技巧
2021/07/25 Golang
聊聊Python String型列表求最值的问题
2022/01/18 Python
nginx sticky实现基于cookie负载均衡示例详解
2022/12/24 Servers