jQuery实现的手风琴侧边菜单效果


Posted in jQuery onMarch 29, 2017

本文实例讲述了jQuery实现的手风琴侧边菜单效果。分享给大家供大家参考,具体如下:

动手做了一个简单手风琴菜单,上图:

jQuery实现的手风琴侧边菜单效果

点击 B 可收缩 C 列表,点击 C 改变自身和父节点 B 的样式,悬浮时均有不同的样式改变。

先看页面代码,列表的嵌套:

<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(); 详见 API

希望本文所述对大家jQuery程序设计有所帮助。

jQuery 相关文章推荐
jQuery插件FusionWidgets实现的AngularGauge图效果示例【附demo源码】
Mar 23 jQuery
jQuery实现select下拉框获取当前选中文本、值、索引
May 08 jQuery
JQuery实现定时刷新功能代码
May 09 jQuery
jquery实现一个全局计时器(商城可用)
Jun 30 jQuery
jQuery实现html table行Tr的复制、删除、计算功能
Jul 10 jQuery
jQuery中库的引用方法
Jan 06 jQuery
JQuery扩展对象方法操作示例
Aug 21 jQuery
jQuery 同时获取多个标签的指定内容并储存为数组
Nov 20 jQuery
jQuery实现的模仿雨滴下落动画效果
Dec 11 jQuery
jquery实现二级导航下拉菜单效果实例
May 14 jQuery
jQuery 选择方法及$(this)用法实例分析
May 19 jQuery
jQuery实现查看图片功能
Dec 01 jQuery
jQuery实现字体颜色渐变效果的方法
Mar 29 #jQuery
jquery实现tab键进行选择后enter键触发click行为
Mar 29 #jQuery
jQuery插件之validation插件
Mar 29 #jQuery
jquery实现静态搜索功能(可输入搜索文字)
Mar 28 #jQuery
jQuery插件FusionCharts绘制的2D帕累托图效果示例【附demo源码】
Mar 28 #jQuery
BootStrap中jQuery插件Carousel实现轮播广告效果
Mar 27 #jQuery
jQuery中的deferred使用方法
Mar 27 #jQuery
You might like
php中如何判断一个网页请求是ajax请求还是普通请求
2013/08/10 PHP
PHP限制HTML内容中图片必须是本站的方法
2015/06/16 PHP
ThinkPHP模板标签eq if 中区分0,null,false的方法
2017/03/24 PHP
PHP实现支持CURL字符串证书传输的方法
2019/03/23 PHP
php5对象复制、clone、浅复制与深复制实例详解
2019/08/14 PHP
php设计模式之工厂方法模式分析【星际争霸游戏案例】
2020/01/23 PHP
Javascript 定时器调用传递参数的方法
2009/11/12 Javascript
jQuery级联操作绑定事件实例
2014/09/02 Javascript
JavaScript获取元素尺寸和大小操作总结
2015/02/27 Javascript
javascript实现九宫格相加数值相等
2020/05/28 Javascript
js实现界面向原生界面发消息并跳转功能
2016/11/22 Javascript
Node.js连接MongoDB数据库产生的问题
2017/02/08 Javascript
ES6入门教程之Iterator与for...of循环详解
2017/05/17 Javascript
AngularJS入门教程一:路由用法初探
2017/05/27 Javascript
laydate时间日历插件使用方法详解
2018/11/14 Javascript
Vue.js的复用组件开发流程完整记录
2018/11/29 Javascript
Python实现ping指定IP的示例
2018/06/04 Python
python读取几个G的csv文件方法
2019/01/07 Python
python装饰器简介---这一篇也许就够了(推荐)
2019/04/01 Python
python matplotlib模块基本图形绘制方法小结【直线,曲线,直方图,饼图等】
2020/04/26 Python
Python定义函数实现累计求和操作
2020/05/03 Python
python3中确保枚举值代码分析
2020/12/02 Python
巴西电子产品购物网站:Saldão da Informática
2018/01/09 全球购物
KENZO官网:高田贤三在法国创立的品牌
2019/05/16 全球购物
精灵市场:Pixie Market
2019/06/18 全球购物
普师专业个人自荐信范文
2013/11/26 职场文书
学前教育求职自荐信范文
2013/12/25 职场文书
英文推荐信格式范文
2014/05/09 职场文书
汽车维修专业自荐书
2014/05/26 职场文书
学校消防安全责任书
2014/07/23 职场文书
学校副校长四风对照检查材料整改措施
2014/09/25 职场文书
个人剖析材料范文
2014/09/30 职场文书
2014年消防工作总结
2014/11/21 职场文书
图解排序算法之希尔排序Java实现
2021/06/26 Java/Android
入门学习Go的基本语法
2021/07/07 Golang
php png失真的原因及解决办法
2021/10/24 PHP