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组件使用中遇到的问题整理及解决
Feb 21 Javascript
基于jquery实现的可编辑下拉框实现代码
Aug 02 Javascript
jQuery插件Tooltipster实现漂亮的工具提示
Apr 12 Javascript
js改变css样式的三种方法推荐
Jun 28 Javascript
强大Vue.js组件浅析
Sep 12 Javascript
AngularJS定时器的使用与移除操作方法【interval与timeout】
Dec 14 Javascript
原生js实现放大镜效果
Jan 11 Javascript
原生JS实现圣旨卷轴展开效果
Mar 06 Javascript
详解Angular 4.x NgTemplateOutlet
May 24 Javascript
JavaScript函数式编程(Functional Programming)纯函数用法分析
May 22 Javascript
JS实现动态添加外部js、css到head标签的方法
Jun 05 Javascript
Vue项目前后端联调(使用proxyTable实现跨域方式)
Jul 18 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使用fsockopen函数发送post,get请求获取网页内容的方法
2014/11/15 PHP
Yii实现多按钮保存与提交的方法
2014/12/03 PHP
PHP判断浏览器、判断语言代码分享
2015/03/05 PHP
php array_reverse 以相反的顺序返回数组实例代码
2017/04/11 PHP
phpmyadmin下载、安装、配置教程
2017/05/16 PHP
通过event对象的fromElement属性解决热区设置主实体的一个bug
2008/12/22 Javascript
jq实现酷炫的鼠标经过图片翻滚效果
2014/03/12 Javascript
JS实现网页上随滚动条滚动的层效果代码
2015/11/04 Javascript
完美解决js传递参数中加号和&amp;号自动改变的方法
2016/10/11 Javascript
angular 动态组件类型详解(四种组件类型)
2017/02/22 Javascript
使用vue + less 实现简单换肤功能的示例
2018/02/21 Javascript
JavaScript引用类型之基本包装类型实例分析【Boolean、Number和String】
2018/08/09 Javascript
jQuery轮播图实例详解
2018/08/15 jQuery
layui内置模块layim发送图片添加加载动画的方法
2019/09/23 Javascript
解决包含在label标签下的checkbox在ie8及以下版本点击事件无效果兼容的问题
2019/10/27 Javascript
vue中watch和computed为什么能监听到数据的改变以及不同之处
2019/12/27 Javascript
一篇不错的Python入门教程
2007/02/08 Python
用Python进行TCP网络编程的教程
2015/04/29 Python
在Python程序中操作文件之flush()方法的使用教程
2015/05/24 Python
python的dataframe和matrix的互换方法
2018/04/11 Python
python如何求解两数的最大公约数
2018/09/27 Python
python处理大日志文件
2019/07/23 Python
使用PYTHON解析Wireshark的PCAP文件方法
2019/07/23 Python
django使用admin站点上传图片的实例
2019/07/28 Python
基于python实现自动化办公学习笔记(CSV、word、Excel、PPT)
2019/08/06 Python
WxPython实现无边框界面
2019/11/18 Python
Python3+PyCharm+Django+Django REST framework配置与简单开发教程
2021/02/16 Python
详解使用scrapy进行模拟登陆三种方式
2021/02/21 Python
Python读写Excel表格的方法
2021/03/02 Python
初入社会应届生求职信
2013/11/18 职场文书
社区党总支书记先进事迹材料
2014/01/24 职场文书
《谁的本领大》教后反思
2014/04/25 职场文书
关于热爱祖国的演讲稿
2014/05/04 职场文书
个人对照检查材料思想汇报
2014/09/26 职场文书
走进科学观后感
2015/06/18 职场文书
Python基础详解之邮件处理
2021/04/28 Python