jquer树形菜单

2024-06-19 21:38
文章标签 jquer 树形 菜单

本文主要是介绍jquer树形菜单,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本实例实现了树形的动态菜单,兼容IE8,火狐,Chrome等浏览器。使用了jQuery的toggle() 方法。效果和代码如下:

http://keleyi.com/keleyi/phtml/jqmenu/6.htm

2012100711312210.png

  1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2 <html xmlns="http://www.w3.org/1999/xhtml">
  3 <head>
  4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5 <title>jquery的树形菜单代码 - 计划 - 博客园 </title>
  6 <meta name="keywords" content="www.cnblogs.com/jihua"/>
  7 <style type="text/css">
  8 body { font-family:"宋体"; font-size: 12px; line-height: 1.5em; color:#7FB0C8; padding:0; margin:0; background: #336699;}
  9 ul,ol,li,dl,dt,dd { margin:0; padding:0; list-style-type:none;}
 10 h1,h2,h3,form,input,iframe,span { margin:0; padding:0;} 
 11 a { color:#7FB0C8;}
 12 a:link {color: #7FB0C8; TEXT-DECORATION: none;}
 13 a:visited {color: #7FB0C8; TEXT-DECORATION: none;}
 14 a:hover {color: #fff; TEXT-DECORATION: none;}
 15 .white { color:#fff;}
 16 .white a:link {color: #fff; TEXT-DECORATION: none;}
 17 .white a:visited {color: #fff; TEXT-DECORATION: none;}
 18 .white a:hover {color: #73E1F5; TEXT-DECORATION: none;}
 19 /* 树形菜单开始 */
 20 .close { float:right; clear:right; font-size:12px; font-weight:normal; cursor:pointer; padding-right:10px;}
 21 .title { font-size:14px; color:#fff; margin-bottom:10px; padding-left:5px; width:290px;}
 22 .menu { width:290px; height:330px; margin-bottom:10px;}
 23 
 24 .l1 { background:#000; font-size:13px; padding:5px 0 0 30px; height:20px; margin-bottom:5px; cursor:pointer;}
 25 .slist { margin:0 0 5px 0; display:none;}
 26 .l2 { padding:0 0 0 35px; font-size:13px;}
 27 .l2 a { padding:6px 0 0 5px; width:230px; height:21px; display:block;} 
 28 .currentl2 a,.l2 a:hover { background:#1E5A82; color:#fff;}
 29 .sslist { background:#156890; width:235px; overflow:hidden; margin:0 0 5px 35px; display:none;}
 30 .l3 a { padding:6px 0 0 5px; width:230px; height:20px; display:block;} 
 31 .currentl3 a,.l3 a:hover { color:#fff; font-weight:bold;}
 32 </style>
 33 <script type="text/javascript" src="http://keleyi.com/keleyi/pmedia/jquery/jquery-1.4.2.min.js"></script>
 34 <script type="text/javascript">
 35     // 树状菜单
 36     $(document).ready(function () {
 37         $(".l1").toggle(function () {
 38             $(".slist").animate({ height: 'toggle', opacity: 'hide' }, "slow");
 39             $(this).next(".slist").animate({ height: 'toggle', opacity: 'toggle' }, "slow");
 40         }, function () {
 41             $(".slist").animate({ height: 'toggle', opacity: 'hide' }, "slow");
 42             $(this).next(".slist").animate({ height: 'toggle', opacity: 'toggle' }, "slow");
 43         });
 44 
 45         $(".l2").toggle(function () {
 46             $(this).next(".sslist").animate({ height: 'toggle', opacity: 'toggle' }, "slow");
 47         }, function () {
 48             $(this).next(".sslist").animate({ height: 'toggle', opacity: 'toggle' }, "slow");
 49         });
 50 
 51         $(".l2").click(function () {
 52             $(".l3").removeClass("currentl3");
 53             $(".l2").removeClass("currentl2");
 54             $(this).addClass("currentl2");
 55         });
 56 
 57         $(".l3").click(function () {
 58             $(".l3").removeClass("currentl3");
 59             $(this).addClass("currentl3");
 60         });
 61 
 62         $(".close").toggle(function () {
 63             $(".slist").animate({ height: 'toggle', opacity: 'show' }, "fast");
 64             $(".sslist").animate({ height: 'toggle', opacity: 'show' }, "fast");
 65         }, function () {
 66             $(".slist").animate({ height: 'toggle', opacity: 'hide' }, "fast");
 67             $(".sslist").animate({ height: 'toggle', opacity: 'hide' }, "fast");
 68         });
 69     });
 70 </script>
 71 </head>
 72 <body>
 73 <h1 class="title"><span class="close">全部收起/展开</span>Jihua树形菜单</h1>
 74 <div class="menu">
 75   <h1 class="l1">一级菜单</h1>
 76   <div class="slist">
 77     <h2 class="l2"><a href="#">二级菜单</a></h2>
 78     <ul class="sslist">
 79       <li class="l3"><a href="#">·三级菜单</a></li>
 80       <li class="l3"><a href="#">·三级菜单</a></li>
 81       <li class="l3"><a href="http://jihua.cnblogs.com" target="_blank">·jihua.cnblogs.com</a></li>
 82       <li class="l3"><a href="#">·三级菜单</a></li>
 83     </ul>
 84     <h2 class="l2"><a href="#">二级菜单</a></h2>
 85     <ul class="sslist">
 86       <li class="l3"><a href="#">·三级菜单</a></li>
 87       <li class="l3"><a href="#">·三级菜单</a></li>
 88       <li class="l3"><a href="http://jihua.cnblogs.com" target="_blank">·三级菜单</a></li>
 89       <li class="l3"><a href="#">·三级菜单</a></li>
 90     </ul>
 91     <h2 class="l2"><a href="#">二级www.cnblogs.com/jihua</a></h2>
 92   </div>
 93   <h1 class="l1">一级博客园</h1>
 94   <div class="slist">
 95     <h2 class="l2"><a href="#">二级菜单计划</a></h2>
 96     <h2 class="l2"><a href="#">二级菜单</a></h2>
 97     <h2 class="l2"><a href="#">二级菜单</a></h2>
 98   </div>
 99   <h1 class="l1">一级菜单</h1>
100   <div class="slist">
101     <h2 class="l2"><a href="#">二级菜单</a></h2>
102     <h2 class="l2"><a href="#">二级菜单</a></h2>
103     <h2 class="l2"><a href="#">二级菜单</a></h2>
104   </div>
105 </div>
106 </body>
107 </html>

 

本实例用到jquery的toggle() 方法,介绍如下:

定义和用法

toggle() 方法切换元素的可见状态。

如果被选元素可见,则隐藏这些元素,如果被选元素隐藏,则显示这些元素。

语法

$(selector).toggle(speed,callback,switch)
参数描述
speed

可选。规定元素从可见到隐藏的速度(或者相反)。默认为 "0"。

可能的值:

  • 毫秒 (比如 1500)
  • "slow"
  • "normal"
  • "fast"

在设置速度的情况下,元素从可见到隐藏的过程中,会逐渐地改变其高度、宽度、外边距、内边距和透明度。

如果设置此参数,则无法使用 switch 参数。

callback

可选。toggle 函数执行完之后,要执行的函数。

如需学习更多有关 callback 的内容,请访问我们的 jQuery Callback 这一章。

除非设置了 speed 参数,否则不能设置该参数。

switch

可选。布尔值。规定 toggle 是否隐藏或显示所有被选元素。

  • True - 显示所有元素
  • False - 隐藏所有元素

如果设置此参数,则无法使用 speed 和 callback 参数。

提示和注释

注释:该效果适用于通过 jQuery 隐藏的元素,或在 CSS 中声明 display:none 的元素(但不适用于 visibility:hidden 的元素)。

 

 

这篇关于jquer树形菜单的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1076217

相关文章

2_为MFC程序添加菜单

在MFC中添加菜单栏 1,双击资源文件,显示资源视图,点击Menu插入Menu菜单,编辑菜单的ID,自己取名字。 2,点击“请在此处键入”添加菜单选项,输入&E,E的下面就会产生下划线;在产生的弹出菜单中继续编辑,并且可以添加事件处理函数; 在弹出菜单的任意位置,鼠标右键,弹出的菜单中选择“插入分隔符”,即可产生分隔符 3,在你设计的Dialog窗口的属性栏,选择Menu后面的

把Sublime Text 2 加入右键菜单(带图标), Edit with Sublime Text

Sublime Text 2 是现在很受大家欢迎的编辑器了,不仅是在web前端,在书定简单的php、Js等代码时,也是相当的好用,再配合多种的插件和新颖的界面,更是让人欲罢不能。 在使用时,我们通过喜欢打开一个文件的时候,右击再选择打开程序,比如会用记事本、Notedpad++之类的,这时如果把Sublime Text也加入到其中毕竟会方便不少,在找了一番后,实验成功,效果如下: 实现

vue+elementui搭建后台管理界面(5递归生成侧栏路由) vue定义定义多级路由菜单

有一个菜单树,顶层菜单下面有多个子菜单,子菜单下还有子菜单。。。 这时候就要用递归处理 1 定义多级菜单 修改 src/router/index.js 的 / 路由 {path: '/',redirect: '/dashboard',name: 'Container',component: Container,children: [{path: 'dashboard', name: '首

论坛开源项目推荐(12.25):菜单(Menu)

转自  http://www.cocoachina.com/applenews/devnews/2013/1225/7608.html 更多代码可到CocoaChina代码库查看:http://code.cocoachina.com/   SvpplyTable(可折叠可张开的菜单动画) 允许你简单地创建可折叠可张开的菜单动画效果,灵感来自于Svpply app。不同表格项

项目实战--实现一个多级菜单统一工具类

一、背景介绍 在项目开发工程中,经常需要实现多级菜单的效果,比如需要一个多级功能菜单、多级评论、多级部门等功能,如果每个项目都要定制一版代码或者SQL,就会面临代码重复开发的问题。为简化开发过程并提高代码的可维护性,我实现一个统一的工具类来处理这些需求,使用SpringBoot创建一个返回多级菜单、多级评论、多级部门、多级分类的统一工具类。 二、数据库字段设计方案 首先,在数据库设计时,考虑

Ubuntu系统通过GRUB引导菜单进入恢复模式修改账户密码

当在Ubuntu系统中忘记了账户密码时,有几种方法可以破解或重置密码。 本指引文档方法:通过GRUB引导菜单进入恢复模式 实践环境为:20.04.6 LTS (Focal Fossa) 1. 重启Ubuntu系统:首先,你需要重启你的Ubuntu系统。 2. 进入GRUB引导菜单:在启动过程中,按下Shift键以进入GRUB引导菜单。(如果你拥有双启动机器,并且需要在操作系统启动时选择,那么

二级联动菜单--常见的城市二级联动

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML><HEAD><TITLE> 二级联动菜单 </TITLE><script language="javascript">var jiangxi=[["1","南昌"],["2","上饶"],["3","赣州"]];var zhejiang=[["1","

【Qt6.3 基础教程 14】实现树形数据结构:QTreeView与自定义模型

文章目录 前言QTreeView简介树形视图的主要特性 创建自定义模型自定义模型的关键方法示例:自定义模型的骨架 在QTreeView中使用自定义模型示例:设置模型 总结 前言 在许多类型的应用程序中,有必要以树形结构呈现数据,以便用户可以方便地浏览和管理层次化的信息。Qt框架通过QTreeView组件和强大的自定义模型提供了这项功能。本篇博客将引导你了解如何在Qt中使用Q

SwipeLayout一个展示条目底层菜单的侧滑控件

由于项目上的需要侧滑条目展示收藏按钮,记得之前代码家有写过一个厉害的开源控件 AndroidSwipeLayout 本来准备直接拿来使用,但是看过 issue 发现现在有不少使用者反应有不少的 bug ,而且代码家现在貌似也不进行维护了.故自己实现了一个所要效果的一个控件.因为只是实现我需要的效果,所以大家也能看到,代码里有不少地方我是写死的.希望对大家有些帮助.而且暂时也不需要 Android

SharePoint Ribbon菜单ID总结

Ribbon.Documents.Groups组 Id="Ribbon.Documents.New.NewDocument" 新建文档 Id="Ribbon.Documents.New.AddDocument" 添加文档 <Menu Id="Ribbon.Documents.New.AddDocument.Menu"> 添加文档菜单 <Controls Id="Rib