`

CSS树形菜单

阅读更多



<!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>
<title>树状列表</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
<style>
*{margin:0px;padding:0px;}
A:link{color: #000000; TEXT-DECORATION: none;}
A:visited {COLOR: #000000; TEXT-DECORATION: none}
A:active {COLOR: #3333ff; TEXT-DECORATION: none}
A:hover {COLOR: #ff0000; TEXT-DECORATION: none}
.panel{ BACKGROUND: #DDE4EA; COLOR:#654125;}
ul {
   list-style: none;
   margin: 0;
   padding: 0;
}
img{
   border:0px;
   width:16px;
   height:16px;
}
#menu{
   margin-top: 0px;
}
.U1 {
   background: #FFFFFF;
   border-bottom:1px #9D9D9D solid;
}
.L1 a:link, .L1 a:visited{
   color: #476074;
   background:  url("");
   font-size:9pt;
   display: block;
   text-decoration: none;
   height: 24px;
}
.L1 a:link span, .L1 a:visited span{
  background: url("") no-repeat left;
  padding-left: 15px;
  height:24px;
  vertical-align:middle;
  padding:7px 0px 0px 16px;
  cursor:pointer;
  width:100%;
   
}
.L1 a:hover{
   color: #000000;
   font-weight:bold;
   background: url("");
   background-position: 0 -24px;
}
/*  一级菜单 active 效果  */
.L1 a:link.active, .L1 a:hover.active, .L1 a:active.active, .L1 a:visited.active{
   background: url("");
   background-position: 0 -24px;
}
.L1 a:link.active span, .L1 a:hover.active span, .L1 a:active.active span, .L1 a:visited.active span{
   color: #000000;
   font-weight:bold;
   background: url("") no-repeat left;
}
.L21 a:link, .L21 a:visited, .L22 a:link, .L22 a:visited, .L3 a:link, .L3 a:visited{
   color: #444659;
   background:  none;
   height: 24px;
   font-size:9pt;
   display: block;
   text-decoration: none;
   padding-left: 13px;
   background: none;
}
.L21 a:link span, .L21 a:visited span, .L22 a:link span, .L22 a:visited span, .L3 a:link span, .L3 a:visited span{
  vertical-align:middle;
  padding:7px 0px 0px 16px;
  background: url("") no-repeat left center;
  cursor:pointer;
  width:100%;
}
.L22 a:link span, .L22 a:visited span, .L3 a:link span, .L3 a:visited span{
  background:none;
}
.L21 a:hover, .L22 a:hover, .L3 a:hover{
   background: url("") no-repeat top left;
   font-weight:bold;
}
.L3 a:link span, .L3 a:visited span{
   padding:7px 0px 0px 26px;
}
.L4 a:link span, .L4 a:visited span{
   padding:7px 0px 0px 36px;
}
/*  二级菜单 active 效果  */
.L21 a:link.active, .L21 a:hover.active, .L21 a:active.active, .L21 a:visited.active{
   background: none;
}
.L21 a:link.active span, .L21 a:hover.active span, .L21 a:active.active span, .L21 a:visited.active span{
   color: #000000;
   font-weight:bold;
   background: url("") no-repeat left center;
}
/*  二、三级菜单 active */
.L22 a:link.active, .L22 a:hover.active, .L22 a:active.active, .L22 a:visited.active,
.L3 a:link.active, .L3 a:hover.active, .L3 a:active.active, .L3 a:visited.active{
   background: url("") no-repeat left;
   background-position: 0 -24px;
}
.L22 a:link.active span, .L22 a:hover.active span, .L22 a:active.active span, .L22 a:visited.active span,
.L3 a:link.active span, .L3 a:hover.active span, .L3 a:active.active span, .L3 a:visited.active span{
   color: #FFFFFF;
   font-weight:bold;
   background: none;
}
.Ls{
   text-align:right;
   padding-top:4px;
   height:20px;
   font-size:9pt;
}
.setting:link, .setting:visited{
   text-decoration: underline;
   display:block;
}
</style>
</head>
<body class="panel" onLoad="init();">
<div id="sub_tabs" class="sub_tabs"></div>
 <div id="body">
 <!-- OA树开始-->
<ul id="menu"> 
<!--路政报表菜单 -->
<li class="L1"><a href="javascript:c('m01');" id="m01"><span><img src="" align="absMiddle"/> 路政报表</span></a></li>
<ul id="m01d" style="display:none;" class="U1">
<li class="L21"><a href="javascript:c('f40');" id="f40"><span><img src="" align="absMiddle"/> 路政报表1</span></a></li>
  <ul id="f40d" style="display:none;">
  <li class="L3"><a href="javascript:c('f42');"><span><img src= align="absMiddle"/> 报表内容</span></a></li>
    <ul id="f42d" style="display:none;"><li class="L4" ><a href="#"><span><img src= align="absMiddle"/>子报表内容</span></a></li></ul>
  <li class="L3"><a href="#"><span><img src=""  align="absMiddle"/> 报表内容</span></a></li>
  </ul>
<li class="L21"><a href="javascript:c('f41');" id="f41"><span><img src="" align="absMiddle"/> 路政报表2</span></a></li>
  <ul id="f41d" style="display:none;">
  <li class="L3"><a href="#"><span><img src="" align="absMiddle"/>报表内容</span></a></li>
  <li class="L3"><a href="#"><span><img src="" align="absMiddle"/>报表内容</span></a></li>  
  </ul>
<li class="L22"><a href="#"><span><img src="" /> 报表内容</span></a></li>
<li class="L22"><a href="#"><span><img src="" /> 报表内容</span></a></li>
<li class="L22"><a href="#"><span><img src="" /> 报表内容</span></a></li>
</ul>
<!--路政报表菜单 结束 -->
<!--路政报表菜单 -->
<li class="L1"><a href="javascript:c('m03');" id="m03"><span><img src="" align="absMiddle"/> 路政报表</span></a></li>
<ul id="m03d" style="display:none;" class="U1">
<li class="L21"><a href="javascript:c('f42');" id="f42"><span><img src= align="absMiddle"/> 路政报表1</span></a></li>
  <ul id="f42d" style="display:none;">
  <li class="L3"><a href="#"><span><img src=""  align="absMiddle"/> 报表内容</span></a></li>
  <li class="L3"><a href="#"><span><img src=""  align="absMiddle"/> 报表内容</span></a></li>
  </ul>
<li class="L21"><a href="javascript:c('f43');" id="f43"><span><img src= align="absMiddle"/> 路政报表2</span></a></li>
  <ul id="f43d" style="display:none;">
  <li class="L3"><a href="#"><span><img src= align="absMiddle"/>报表内容</span></a></li>
  <li class="L3"><a href="#"><span><img src= align="absMiddle"/>报表内容</span></a></li>  
  </ul>
<li class="L22"><a href="#"><span><img src="" /> 报表内容</span></a></li>
<li class="L22"><a href="#"><span><img src="" /> 报表内容</span></a></li>
<li class="L22"><a href="#"><span><img src="" /> 报表内容</span></a></li>
<li class="L22"><a href="#"><span><img src="" /> 报表内容</span></a></li>
<li class="L22"><a href="#"><span><img src="" /> 报表内容</span></a></li>
</ul>
<!--路政报表菜单 结束 -->
</ul>
</ul>
</div>
<script language="JavaScript">
window.onresize=function()
{
   if(!parent.$('frame1')) return;
   var rows = parent.$('frame1').rows.split(",");
   if(rows.length < 2 || rows[1]!="*") return;
   $("bottom_center").style.width = "0px";
 
   if(document.body.clientHeight > $("sub_tabs").clientHeight+$("bottom").clientHeight)
      $("body").style.height=(document.body.clientHeight-$("sub_tabs").clientHeight-$("bottom").clientHeight)+"px";
 
   var widthTotal = parseInt($("bottom").clientWidth);
   var widthLeft = parseInt($("bottom_left").clientWidth);
   var widthRight = parseInt($("bottom_right").clientWidth);
   if(!isNaN(widthTotal) && !isNaN(widthLeft) && !isNaN(widthRight))
   {
      $("bottom_center").style.width = widthTotal - widthLeft - widthRight + "px";
   }
};
function init()
{
   window.onresize();
}
 
var sub_menu="1";
function view_menu(id)
{
   set_current("");
   if($("menu").innerHTML.toLowerCase().indexOf("<li") >= 0)
      $("menu_code_"+sub_menu).innerText=$("menu").innerHTML;
 
   if($("menu_code_"+id).innerText=="" || isUndefined($("menu_code_"+id).innerText))
   {
      $("menu").innerHTML="<img src='/images/loading.gif' align='absMiddle'> 加载中,请稍候……";
      if(id==2) args="MENU_TYPE=SHORTCUT&OA_SUB_WINDOW=0&MENU_DISPLAY=";
      else if(id==3) args="MENU_TYPE=OA&OA_SUB_WINDOW=0";
      else if(id==4) args="MENU_TYPE=FAV&OA_SUB_WINDOW=0";
      else if(id==5) args="MENU_TYPE=FIS&OA_SUB_WINDOW=0";
      else args="OA_SUB_WINDOW=0";
      _get("menu_code.php", args, update_menu, true);
   }
   else
   {
      $("menu").innerHTML=$("menu_code_"+id).innerText;
   }
   
   if($('link_'+sub_menu))
      $('link_'+sub_menu).className="";
   
   $('link_'+id).className="active";
   sub_menu=id;
   setCookie("MENU_UI_1", id);
   if(id == 5)
   {
      openURL("/t9apps/common/frame.jsp");
   }
}
function update_menu(req)
{
   if(req.status == 200)
   {
      if(req.responseText=="")
         $("menu").innerHTML="<div style='padding:10px;'>无可访问菜单</div>";
      else
      {
         $("menu").innerHTML=req.responseText;
         if(sub_menu == 2) c('mMENU_SHORTCUT');
      }
   }
   else
   {
      $("menu").innerHTML="<div style='padding:10px;'>错误:"+req.status+"</div>";
   }
}
 
var cur_id="",cur_expand="";
var flag=0,sflag=0;
 
//-------- 菜单点击事件 -------
function c(id)
{
  var targetid,targetelement;
  var strbuf;
 
  var el=$(id);
  if(!el)
     return;
  //-------- 如果点击了展开或收缩按钮---------
  targetid=el.id+"d";
  targetelement=$(targetid);
  var expandUL=$(cur_expand+"d");
  var expandLink=$(cur_expand);
 
  if (targetelement.style.display=="none")
  {
     if(expandUL && expandLink && el.id.substr(0,1)=="m")
     {
        expandLink.className="";
        expandUL.style.display='none';
     }
     if(el.id.substr(0,1)=="m")
        cur_expand=el.id;
     el.className="active";
     targetelement.style.display='';
 
     menu_flag=0;
     //$("expand_link").src="images/green_minus.gif";
  }
  else
  {
     el.className="";
     targetelement.style.display="none";
 
     menu_flag=1;
     //$("expand_link").src="images/green_plus.gif";
     var links=document.getElementsByTagName("A");
     for (i=0; i<links.length; i++)
     {
       el=links[i];
       if(el.parentNode.className.toUpperCase()=="L1" && el.className=="active" && el.id.substr(0,1)=="m")
       {
          menu_flag=0;
         // $("expand_link").src="images/green_minus.gif";
          break;
       }
     }
  }
}
//-------- 打开网址 -------
var $ = function(id) {return document.getElementById(id);};
var userAgent = navigator.userAgent.toLowerCase();
var is_opera = userAgent.indexOf('opera') != -1 && opera.version();
var is_ie = (userAgent.indexOf('msie') != -1 && !is_opera) && userAgent.substr(userAgent.indexOf('msie') + 5, 3);
function MouseOverBtn(){event.srcElement.className+="Hover";}
function MouseOutBtn() {event.srcElement.className=event.srcElement.className.substr(0,event.srcElement.className.indexOf("Hover"));}
function CorrectButton()
{
   var inputs=document.getElementsByTagName("INPUT");
   for(var i=0; i<inputs.length; i++)
   {
      var el = inputs[i];
      var elType = el.type.toLowerCase();
      var elClass = el.className.toLowerCase();
      var elLength = Math.ceil(el.value.replace(/[^\x00-\xff]/g,"**").length/2);
      if(elType!="button" && elType!="submit" && elType!="reset" || elClass!="bigbutton"&&elClass!="smallbutton")
         continue;
      
      if(elLength<=3)
         el.className+="A";
      else if(elLength==4)
         el.className+="B";
      else if(elLength>=5 && elLength<=7)
         el.className+="C";
      else if(elLength>=8 && elLength<=11)
         el.className+="D";
      else
         el.className+="E";
      
      if(is_ie)
      {
         el.attachEvent("onmouseover", MouseOverBtn);
         el.attachEvent("onmouseout",  MouseOutBtn);
      }
   }
}
if(is_ie)
   window.attachEvent("onload", CorrectButton);
else
   window.addEventListener("load", CorrectButton,false);
</script>
 </body>
</html>
  • 大小: 7.9 KB
分享到:
评论

相关推荐

    很不错的css树形菜单

    在网页设计中,创建交互式的用户界面是至关重要的,而CSS树形菜单就是实现这一目标的有效工具。"很不错的css树形菜单"这个项目显然旨在提供一个可扩展、易维护的解决方案,帮助开发者构建出层次清晰、易于导航的菜单...

    CSS树形菜单(改进版)

    本项目名为“CSS树形菜单(改进版)”,其核心在于利用CSS来构建这样的功能,同时具备良好的扩展性和维护性。下面我们将详细探讨这个主题中的关键知识点。 1. **CSS基础**:CSS(层叠样式表)是用于描述HTML或XML...

    CNL Tree Menu 无限级CSS树形菜单 兼容各浏览器

    ### CNL Tree Menu 无限级CSS树形菜单 #### 一、概述 “CNL Tree Menu 无限级CSS树形菜单”是一款由CNLei开发的高质量、纯CSS实现的树形菜单系统,该系统兼容多种浏览器,包括但不限于IE5.0+、Firefox 1.0+以及...

    JS+css树形菜单效果展示

    JS,css,树形菜单,效果展示,web JS,css,树形菜单,效果展示,web JS,css,树形菜单,效果展示,web JS,css,树形菜单,效果展示,web JS,css,树形菜单,效果展示,web JS,css,树形菜单,效果展示,web JS...

    Css3折叠菜单-可展开的树形导航菜单.rar

    Css3折叠菜单-可展开的树形导航菜单,其实就是折叠、展开式的菜单,应用了HTML5重绘而成,无使用jquery,完全CSS3技术实现,面向Android手机等移动终端设备浏览,请注意不要使用IE等浏览器查看效果。

    html+css之树形菜单

    在本案例中,我们将讨论如何用 div 元素和 CSS 样式实现一个简单的竖直排列的树形菜单。 首先,HTML 结构是树形菜单的基础。我们可以使用 `&lt;ul&gt;`(无序列表)和 `&lt;li&gt;`(列表项)元素来构建菜单层次。每个 `&lt;li&gt;` ...

    一个很好看的JS+CSS的树形菜单

    下面将详细介绍这个JS+CSS树形菜单的相关知识点。 1. **CSS基础与美化** CSS是用于定义网页元素样式和布局的语言。在这个树形菜单中,CSS主要负责菜单的视觉呈现,包括颜色、字体、边框、背景、阴影、动画效果等。...

    很不错的树形菜单(javascript+css)

    在这个案例中,"很不错的树形菜单(javascript+css)"是一个使用JavaScript和CSS技术实现的交互式菜单系统,旨在提供优雅且高效的方式来浏览多级结构的信息。 首先,JavaScript是一种广泛应用于网页开发的客户端...

    Div+Css+js树形菜单

    在网页设计中,树形菜单...总之,Div+Css+js树形菜单的实现涉及到网页布局、样式设计和交互编程等多个方面,是Web前端开发中一项重要的技能。理解并掌握这一技术,对于提升网页用户体验和优化网站导航有着积极的作用。

    HTML树形菜单

    总之,HTML树形菜单结合了HTML的结构化能力、CSS的样式控制和JavaScript的交互功能,为用户提供了一种直观的方式来浏览和操作层级数据。在实际开发中,开发者可能会根据需求选择不同的实现方式,从简单的纯...

    无限级CSS树形菜单 Ver2.0

    无限级CSS树形菜单是一种网页设计中的交互元素,用于展示具有层级关系的数据,例如网站导航、文件目录等。在Web开发中,这种菜单通常由HTML、CSS和JavaScript共同构建,以实现动态展开和折叠的效果。在Ver2.0中,...

    JS+CSS简单树形菜单实现方法

    本文将详细讲解如何使用JavaScript和CSS来实现一个简单的树形菜单。 首先,我们来理解JavaScript在此处的作用。JavaScript是客户端脚本语言,用于动态修改HTML和CSS,实现交互效果。在树形菜单的实现中,JavaScript...

    java动态树形菜单

    - `style.css`:用于美化树形菜单样式的CSS文件 - `script.js`:可能包含JavaScript代码,处理菜单的交互逻辑 通过这些文件,开发者可以学习如何在Java Web环境中构建动态树形菜单,同时也可以根据自己的需求进行...

    经典的树形菜单源码经典的树形菜单源码

    2. **CSS样式**:CSS用于定义树形菜单的样式,包括节点间的缩进、箭头图标、展开/折叠状态的样式变化等。例如,可以使用伪类`:before` 和`:after` 添加展开/折叠的图标,使用`display`属性控制子节点的可见性。 3. ...

    树形菜单 三种使用的树形菜单

    总结起来,树形菜单是UI设计中的重要组成部分,通过HTML+CSS、JavaScript和AJAX等方式,我们可以构建出具有高度交互性和动态性的树形菜单。`ztree`作为一款成熟的树形菜单插件,为开发者提供了便捷的工具,使得在...

    js+css简单后台二级树形菜单demo示例

    在这个“js+css简单后台二级树形菜单demo示例”中,我们将探讨如何利用JavaScript和CSS来创建一个后台管理界面的二级树形菜单。这个示例将涵盖以下几个关键知识点: 1. **HTML 结构**: - 树形菜单的基础是HTML的...

    jsp树形菜单 dtree tree 树形菜单

    在这个“jsp树形菜单 dtree tree 树形菜单”的项目中,我们将探讨如何利用JSP、dtree库以及可能的Struts框架来创建一个动态的树形菜单。 首先,JSP(JavaServer Pages)是一种基于Java的技术,用于创建动态Web内容...

    4种CSS3颜色渐变的导航菜单效果.rar

    在本资源中,"4种CSS3颜色渐变的导航菜单效果.rar" 是一个包含四种不同CSS3颜色渐变导航菜单实现的压缩包文件。这个压缩包可能包含了HTML和CSS文件,用于展示如何利用CSS3的新特性来创建动态且吸引人的网页导航菜单...

Global site tag (gtag.js) - Google Analytics