<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
      <style type="text/css">
        *{margin:0;padding:0;border:0;}
        body
        {
         font-family: arial, 宋体, serif;
         font-size:12px;
        }
        #nav {
         width:180px;
         line-height: 24px;
         list-style-type: none;
         text-align:left;
            /*定义整个ul菜单的行高和背景色*/
        }
        /*==================一级目录===================*/
        #nav a {
         width: 160px;
         display: block;
         padding-left:20px;       
        }
        #nav li {
         background:#CCC; /*一级目录的背景色*/
         border-bottom:#FFF 1px solid; /*下面的一条白边*/
         float:left;        
        }
        #nav li a:hover{
         background:#CC0000; /*一级目录onMouseOver显示的背景色*/
        }
        #nav a:link  {
         color:#666; text-decoration:none;
        }
        #nav a:visited  {
         color:#666;text-decoration:none;
        }
        #nav a:hover  {
         color:#FFF;text-decoration:none;font-weight:bold;
        }
        /*==================二级目录===================*/
        #nav li ul {
         list-style:none;
         text-align:left;
        }
        #nav li ul li{
         background: #EBEBEB; /*二级目录的背景色*/
        }
        #nav li ul a{
            padding-left:20px;
            width:160px;
         /* padding-left二级目录中文字向右移动,但Width必须重新设置=(总宽度-padding-left)*/
        }
        /*下面是二级目录的链接样式*/
        #nav li ul a:link  {
         color:#666; text-decoration:none;
        }
        #nav li ul a:visited  {
         color:#666;text-decoration:none;
        }
        #nav li ul a:hover {
         color:#F3F3F3;
         text-decoration:none;
         font-weight:normal;
         background:#CC0000;
         /* 二级onmouseover的字体颜色、背景色*/
        }
        /*==============================*/
        #nav li:hover ul {
         left: auto;
        }
        #nav li.sfhover ul {
         left: auto;
        }
        #content {
         clear: left;
        }
        #nav ul.collapsed {
         display: none;
        }
        #PARENT{
         width:300px;
         padding-left:20px;
        }
</style>

<script type="text/javascript">
    var LastLeftID = "";
    function menuFix() {
        var obj = document.getElementById("nav").getElementsByTagName("li");
        for (var i = 0; i < obj.length; i++) {
            obj[i].onmouseover = function () {
                this.className += (this.className.length > 0 ? " " : "") + "sfhover";
            }
            obj[i].onMouseDown = function () {
                this.className += (this.className.length > 0 ? " " : "") + "sfhover";
            }
            obj[i].onMouseUp = function () {
                this.className += (this.className.length > 0 ? " " : "") + "sfhover";
            }
            obj[i].onmouseout = function () {
                this.className = this.className.replace(new RegExp("( ?|^)sfhover\\b"), "");
            }
        }
    }
    function DoMenu(emid) {
        var obj = document.getElementById(emid);
        obj.className = (obj.className.toLowerCase() == "expanded" ? "collapsed" : "expanded");
        if ((LastLeftID != "") && (emid != LastLeftID)) //关闭上一个Menu
        {
            document.getElementById(LastLeftID).className = "collapsed";
        }
        LastLeftID = emid;
    }
    function GetMenuID() {
        var MenuID = "";
        var _paramStr = new String(window.location.href);
        var _sharpPos = _paramStr.indexOf("#");

if (_sharpPos >= 0 && _sharpPos < _paramStr.length - 1) {
            _paramStr = _paramStr.substring(_sharpPos + 1, _paramStr.length);
        }
        else {
            _paramStr = "";
        }
        if (_paramStr.length > 0) {
            var _paramArr = _paramStr.split("&");
            if (_paramArr.length > 0) {
                var _paramKeyVal = _paramArr[0].split("=");
                if (_paramKeyVal.length > 0) {
                    MenuID = _paramKeyVal[1];
                }
            }
            /*
            if (_paramArr.length>0)
            {
            var _arr = new Array(_paramArr.length);
            }
 
            //取所有#后面的,菜单只需用到Menu
            //for (var i = 0; i < _paramArr.length; i++)
            {
            var _paramKeyVal = _paramArr[i].split('=');
   
            if (_paramKeyVal.length>0)
            {
            _arr[_paramKeyVal[0]] = _paramKeyVal[1];
            }  
            }
            */
        }
        if (MenuID != "") {
            DoMenu(MenuID)
        }
    }
    GetMenuID(); //*这两个function的顺序要注意一下,不然在Firefox里GetMenuID()不起效果
    menuFix();
 </script>
</head>
<body>

<div id="PARENT">
<ul id="nav">
<li><a href="#Menu=ChildMenu1"  onmouseover="DoMenu('ChildMenu1')" onclick="DoMenu('ChildMenu1') ">懒人建站</a>
 <ul id="ChildMenu1" class="collapsed">
 <li><a href="#">懒人建站</a></li>
 <li><a href="#">js代码</a></li>
 <li><a href="#">懒人建站</a></li>
 <li><a href="#">js代码</a></li>
 <li><a href="#">懒人建站</a></li>
 <li><a href="#">懒人建站</a></li>
 </ul>
</li>
<li><a href="#Menu=ChildMenu2"  onmouseover="DoMenu('ChildMenu2')" onclick="DoMenu('ChildMenu2')">懒人建站</a>
 <ul id="ChildMenu2" class="collapsed">
 <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="#Menu=ChildMenu3"  onmouseover="DoMenu('ChildMenu3')" onclick="DoMenu('ChildMenu3')">懒人建站</a>
 <ul id="ChildMenu3" class="collapsed">
 <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="#Menu=ChildMenu4"  onmouseover="DoMenu('ChildMenu4')" onclick="DoMenu('ChildMenu4')">懒人建站</a>
 <ul id="ChildMenu4" class="collapsed">
 <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>
</div>
</body>
</html>

漂亮竖向菜单 有缓存 javascript的更多相关文章

  1. jQuery实现右上角点击后滑下来的竖向菜单

    效果体验请点击这里:http://keleyi.com/a/bjad/27095rgj.htm 这个菜单我觉得可以做成在线客服之类的,点击下滑后,带关闭按钮,因此在不想显示的时候可以关掉它. 以下是源 ...

  2. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(38)-Easyui-accordion+tree漂亮的菜单导航

    原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(38)-Easyui-accordion+tree漂亮的菜单导航 系列目录 本节主要知识点是easyui ...

  3. 最简单的javascript 竖向菜单

    <html xmlns="http://www.w3.org/1999/xhtml"><head runat="server">    ...

  4. ASP.NET MVC5+EF6+EasyUI 后台管理系统(38)-Easyui-accordion+tree漂亮的菜单导航

    系列目录 本节主要知识点是easyui 的手风琴加树结构做菜单导航 有园友抱怨原来菜单非常难看,但是基于原有树形无限级别的设计,没有办法只能已树形展示 先来看原来的效果 改变后的效果,当然我已经做好了 ...

  5. JavaScript内容梳理 示例之模态对话框 示例之全选和反选以及取消 示例之后台管理左侧菜单

    <!DOCTYPE html> <!--示例之模态对话框--> <html lang="en"> <head> <meta c ...

  6. 研究js特效巩固JavaScript知识

    400多个JavaScript特效大全,包含全部源代码和详细代码说明,不可多得 JavaScript实现可以完全自由拖拽的效果,带三个范例    http://www.sharejs.com/show ...

  7. javascript开源大全

    javascript开源大全 Ajax框架-jQuery 可视化HTML编辑器-CKEditor 国产jQuery-UI框架-(jUI)-DWZ 网页开发FireFox插件-Firebug 服务器端的 ...

  8. IE8“开发人员工具”使用详解上(各级菜单详解)

    来源: http://www.cnblogs.com/JustinYoung/archive/2009/03/24/kaifarenyuangongju.html IE8“开发人员工具”使用详解上(各 ...

  9. 11款样式新颖的 jQuery/CSS3 网页菜单

    今天为大家准备了11款样式风格挺不错的jQuery/CSS3网页菜单,主要包括面包屑菜单.下拉菜单.Tab菜单等,喜欢的朋友赶紧收藏,一起来看看这些菜单. 1.jQuery / CSS3多功能下拉菜单 ...

随机推荐

  1. ##DAY7 UINavigationController

    ##DAY7 UINavigationController #pragma mark ———————UINavigationController——————————— 概括: 导航视图控制器也是一个视 ...

  2. ##DAY4 事件的基本概念、触摸的基本概念、响应者链、手势

    ##DAY4  事件的基本概念.触摸的基本概念.响应者链.手势 #pragma mark ———————事件的基本概念 ——————————— 事件的基本概念: 1)事件是当用户的手指触击屏幕及在屏幕 ...

  3. viewport的作用

    <meta name="viewport" content="width=device-width,height=device-height,inital-scal ...

  4. Bandwidthd+Postgresql数据库配置笔记

    Bandwidthd+Postgresql数据库配置笔记 本系列文章由ex_net(张建波)编写,转载请注明出处. http://blog.csdn.net/zjianbo/article/detai ...

  5. JAVA中把ResultSet转换成LIST

    项目中老是遇到数据库异常关闭的情况,真烦, 想用hibernate呢,那个玩意儿又太笨重,感慨C#和PHP的舒适方便性,模拟TP写了个数据处理层,将就用着先代码里有很多项目中的东西,不要直接COPY了 ...

  6. 解决spark运行中failed to locate the winutils binary in the hadoop binary path的问题

    1.下载hadoop-common-2.2.0-bin并解压到某个目录 https://github.com/srccodes/hadoop-common-2.2.0-bin 2.设置hadoop.h ...

  7. python 10min系列之实现增删改查系统

    woniu-cmdb 奇技淫巧--写配置文件生成增删改查系统 视频教程 项目主页跪求github给个star, 线上demo,此页面都是一个配置文件自动生成的 详细的文章介绍和实现原理分析会发布在我的 ...

  8. (Problem 46)Goldbach's other conjecture

    It was proposed by Christian Goldbach that every odd composite number can be written as the sum of a ...

  9. [转]swift 学习资源 大集合

    今天看到了一个swift的学习网站,里面收集了很多学习资源 [转自http://blog.csdn.net/sqc3375177/article/details/29206779] Swift 介绍 ...

  10. $.ajax和vue-resource实现OAuth

    Vue.js——使用$.ajax和vue-resource实现OAuth的注册.登录.注销和API调用 概述 上一篇我们介绍了如何使用vue resource处理HTTP请求,结合服务端的REST A ...