<%@ Page Language="C#" CodeFile="Default3.aspx.cs" Inherits="Default3" %>

 <!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">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
<style id="Style1" type="text/css" runat ="server" >
body{margin:10px;padding:10px;}
body,h2,div,span,li{font-size:12px;}
.title01,.title02 {color:#fff;font-weight:bold;}
#DoorP{border:12px solid #eee;width:150px;padding:4px;background:#fff;}
h2{text-align:center;margin:0px;padding:0px;line-height:22px;}
.title01{width:100%;height:25px;background:#00ccff;cursor:pointer;}
.title02{width:100%;height:25px;background:#99cc00;cursor:pointer;}
.content{background:#eee;border-bottom:2px solid #fff;overflow:hidden;color:#666;padding-left:4px;padding-right:4px;line-height:18px;}
.content a:link,.content a:visited{color:#666666;text-decoration:none;}
.content a:hover{color:#FF6600;text-decoration:underline;}
</style>
<title></title>
</head> <body>
<div id="DoorP">
<h2>第一层信息</h2>
<div class="content">菜单一<br /></div>
<h2>第二层信息</h2>
<div class="content"><a href="#">子菜单</a><br /><a href="#">子菜单</a><br /><a href="#">子菜单</a><br /><a href="#">子菜单</a><br /><a href="#">子菜单</a><br /><a href="#">子菜单</a><br /><a href="#">子菜单</a><br /><a href="#">子菜单</a><br /></div>
<h2>第三层信息</h2>
<div class="content">菜单三<br />菜单三<br />菜单三<br />菜单三<br />菜单三<br />菜单三<br /></div>
<h2>第四层信息</h2>
<div class="content">子菜单<br />子菜单<br />子菜单<br />子菜单<br />子菜单<br />子菜单<br />子菜单<br />子菜单<br /></div>
<h2>第五层信息</h2>
<div class="content">子菜单<br />子菜单<br />子菜单<br />子菜单<br />子菜单<br />子菜单<br /></div>
<h2>第六层信息</h2>
<div class="content">子菜单<br />子菜单<br />子菜单<br />子菜单<br />子菜单<br />子菜单<br />子菜单<br />子菜单<br />子菜单<br /></div>
</div>
<script type="text/javascript">
var onum=0;// 设置初始打开的层序号
var closeState=new Array();
var ch=new Array();
function $(id){if(document.getElementByIdx(id)){return document.getElementByIdx(id);}else{alert("没有找到!")}}
function $tag(id,tagName){return $(id).getElementsByTagName_r(tagName)}
var Ds=$tag("DoorP","div");
var Ts=$tag("DoorP","h2");
if(Ds.length != Ts.length){alert("初始化失败!");}
function showMe(Cid,Oid){var h=parseInt(Ds[Cid].style.height);var h2=parseInt(Ds[Oid].style.height);var dH=ch[Oid];if(h>0){h=h-Math.ceil(h/3);Ds [Cid].style.height=h+"px";};if(h2<dH){h2=h2+Math.ceil((dH-h2)/3);Ds[Oid].style.height=h2+"px";};if(h<=0&&h2>=dH){clearTimeout(closeState[Cid]);return false;};closeState[Cid] = setTimeout("showMe("+Cid+","+Oid+")");}
for(var i=0;i<Ds.length;i++){
ch[i]=Ds[i].offsetHeight;
if(i==onum){Ds[i].style.height=ch[i]+"px";Ts[i].className="title01";}else{Ds[i].style.height="0px";Ts[i].className="title02";}
Ts[i].value=i;
Ts[i].onclick=function(){if(onum==this.value){return false;};
Ts[onum].className="title02";
Ts[this.value].className="title01";
for(var i=0;i<closeState.length;i++){clearTimeout(closeState[i]);}
showMe(onum,this.value);
onum=this.value;
}
}
</script>
</body>
</html>

IS动态左侧菜单-01的更多相关文章

  1. SPA项目开发之首页导航+左侧菜单

    Mock.js: 前后端分离之后,前端迫切需要一种机制,不再需要依赖后端接口开发,而mockjs就可以做到这一点 Mock.js是一个模拟数据的生成器,用来帮助前端调试开发.进行前后端的原型分离以及用 ...

  2. python : jquery实现左侧菜单

    左侧菜单 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3 ...

  3. python :页面布局 ,后台管理页面之左侧菜单跟着滚动条动

    左侧菜单跟着滚动条动 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http:// ...

  4. python : HTML+CSS (左侧菜单)

    左侧菜单 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3 ...

  5. LayUI左侧菜单无法保持选中状态

    1.问题描述:一般的左侧菜单都会是动态添加的模块,利用循环把模块名和链接地址逐个显示出来如下图 但是问题来了,只要点任何二级菜单就不会保持左侧菜单当前一级菜单和二级菜单选中状态. 2.分析原因:因为模 ...

  6. ace admin 左侧菜单定位

    后台模版来自:Ace Admin http://ace.jeka.by/form-elements.html 左侧菜单,通过js根据url来判断显示哪块 window.location.pathnam ...

  7. layui navTree 动态渲染菜单组件介绍

    navTree.js 简介 extends/navTree.js 是一个基于 layui 扩展的模块化组件,用于构建后台布局系统中的垂直导航菜单与水平导航菜单. extends/navTree.js ...

  8. 使用vue-element-admin框架从后端动态获取菜单

    1.前言 ​ vue-element-admin是一个纯前端的框架,左侧菜单是根据路由生成的.实际开发中经常需要根据当前登陆人员的信息从后端获取菜单进行展示,本文将详细介绍如何实现该功能. 2.详解 ...

  9. JS动态级联菜单

    JS动态级联菜单是前端常用的一个功能,特此抽时间研究了下,附上代码 <html> <head> <meta charset="utf-8" /> ...

随机推荐

  1. Atitit.ALT+TAB没反应车and 点击任务栏程序闪烁可是不能切换

    Atitit.ALT+TAB没反应车and 点击任务栏程序闪烁可是不能切换 1. 可能你的Alt+Tab键被别人禁用了,试下以下的方法: 1 2. 为什么要禁用Alt+Tab 1 3. ALT+TAB ...

  2. [Cocoa]深入浅出 Cocoa 之消息

    深入浅出 Cocoa 之消息    罗朝辉(http://blog.csdn.net/kesalin) 转载请注明出处 在入门级别的ObjC 教程中,我们常对从C++或Java 或其它面向对象语言转过 ...

  3. sqlserver备份的几种方式

    1.用sqlserver的维护计划 在这里我就不给截图演示了,这个比较简单,无非就是通过sqlserver自己的维护计划拖拽出2个一个‘备份数据库’任务和一个‘清除维护’任务. 需要注意的点: 1)有 ...

  4. 对于GetBuffer() 与 ReleaseBuffer() 的一些分析

    先 转载一段别人的文章 CString类的这几个函数, 一直在用, 但总感觉理解的不够透彻, 不时还实用错的现象. 今天抽时间和Nico一起分析了一下, 算是拨开了云雾: GetBuffer和Rele ...

  5. ural1519插头DP

    1519. Formula 1 Time limit: 1.0 second Memory limit: 64 MB Background Regardless of the fact, that V ...

  6. Javascript操作阵列

    头操作unshift和shift var arr = [1, 2, 3]; arr.unshift(4); // arr = [4, 1, 2, 3]; 头加 arr.shift(); // arr ...

  7. linuxsocket通信recv研究缓存机制

        曾有过这样一个小疑问.当一个进程注册的插座后,,假设插座没有被调用recv函数接受包.能接受到数据包吗? 或者这样说,假设我的程序注冊了一个套接字去接受数据包,可是每收到一个数据包都须要非常长 ...

  8. restrict

    restrict是c99标准引入的,它只可以用于限定和约束指针,并表明指针是访问一个数据对象的唯一且初始的方式.即它告诉编译器,所有修改该指针所指向内存中内容的操作都必须通过该指针来修改,而不能通过其 ...

  9. IQueryable与IQEnumberable的区别

    IEnumberable接口: 公开枚举器,该枚举器支持在指定类型的集合上进行简单迭代.也就是说:实现了此接口的object,就可以直接使用froeach遍历此object; IQueryable接口 ...

  10. SZU:D89 The Settlers of Catan

    Judge Info Memory Limit: 65536KB Case Time Limit: 3000MS Time Limit: 3000MS Judger: Number Only Judg ...