基于Jquery代码实现手风琴菜单
2015-11-19 00:00
1116 查看
先给大家展示效果图:
先看页面代码,列表的嵌套:
<div id="menuDiv"> <ul id="menu"> <li class="parentLi"> <span>B</span> <ul class="childrenUl"> <li class="childrenLi"><span>C</span></li> <li class="childrenLi"><span>C</span></li> <li class="childrenLi"><span>C</span></li> </ul> </li> <li class="parentLi"> <span>B</span> <ul class="childrenUl"> <li class="childrenLi"><span>C</span></li> <li class="childrenLi"><span>C</span></li> <li class="childrenLi"><span>C</span></li> </ul> </li> <li class="parentLi"> <span>B</span> <ul class="childrenUl"> <li class="childrenLi"><span>C</span></li> <li class="childrenLi"><span>C</span></li> <li class="childrenLi"><span>C</span></li> </ul> </li> </ul> </div>
css 代码,主要设置背景色和子菜单左边框的样式,设置悬浮和选中的样式,开始设置子菜单不显示(通过 js 设置点击之后再显示):
#menuDiv{ width: 200px; background-color: #029FD4; } .parentLi { width: 100%; line-height: 40px; margin-top: 1px; background: #1C73BA; color: #fff; cursor: pointer; font-weight:bolder; } .parentLi span { padding: 10px; } .parentLi:hover, .selectedParentMenu { background: #0033CC; } .childrenUl { background-color: #ffffff; display: none; } .childrenLi { width: 100%; line-height: 30px; font-size: .9em; margin-top: 1px; background: #63B8FF; color: #000000; padding-left: 15px; cursor: pointer; } .childrenLi:hover, .selectedChildrenMenu { border-left: 5px #0033CC solid; background: #0099CC; padding-left: 15px; }
接下来就是点击事件的代码:
$(".parentLi").click(function(event) { $(this).children('.childrenUl').slideToggle(); }); $(".childrenLi").click(function(event) { event.stopPropagation(); $(".childrenLi").removeClass('selectedChildrenMenu'); $(".parentLi").removeClass('selectedParentMenu'); $(this).parents(".parentLi").addClass('selectedParentMenu'); $(this).addClass('selectedChildrenMenu'); });
需要注意的是列表嵌套,会导致事件冒泡,所以在子菜单的点击事件里面要组织冒泡,event.stopPropagation();
以上代码很简单,代码就是注释,jquery手风琴菜单就实现了。需要的朋友快来参考下吧。
相关文章推荐
- jQuery 1.9.1源码分析系列(十)事件系统之绑定事件
- jQuery-1.9.1源码分析系列(十)事件系统之事件体系结构
- jquery实现表格隔行换色效果
- jquery通过扩展select控件实现支持enter或focus选择的方法
- Jquery实现仿京东商城省市联动菜单
- 自己mini版jquery编写
- Jquery autocomplete 注意的一点破事
- 网站如何做到完全不需要使用jQuery
- jQuery + json 实现省市区三级联动
- Jquery 中Ajax使用的四种情况
- 【jQuery】 文档操作 -- empty( ) 方法
- 前端开发者都应知道的 jQuery 小技巧
- Jquery validate表单验证
- jQuery实现侧边导航手风琴效果
- jQuery实现侧边导航点击隐藏动画设计
- Jquery基础之事件操作
- jQuery1.8.0文档学习笔记:
- canvas中的getContext("2d")方法在jQuery中的使用中遇到的小问题解决办法
- jQuery-1.9.1源码分析系列(十) 事件系统——事件绑定
- Jquery Ajax处理,服务端三种页面aspx,ashx,asmx的比较