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实现tab键进行选择后enter键触发click行为
Mar 29 jQuery
jQuery插件imgAreaSelect基础讲解
May 26 jQuery
jQuery取得元素标签名称小结(附代码)
Aug 16 jQuery
解决JQuery全选/反选第二次失效的问题
Oct 11 jQuery
webpack写jquery插件的环境配置
Dec 21 jQuery
jQuery实现鼠标响应式淘宝动画效果示例
Feb 13 jQuery
jquery动态添加带有样式的HTML标签元素方法
Feb 24 jQuery
jQuery实现ajax回调函数带入参数的方法示例
Jun 26 jQuery
jquery ajax加载数据前台渲染方式 不用for遍历的方法
Aug 09 jQuery
如何基于jQuery实现五角星评分
Sep 02 jQuery
jQuery实现日历效果
Sep 11 jQuery
jQuery实现简单评论区功能
Oct 26 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
《Re:从零开始的异世界生活》剧情体验,手游新作定名
2020/04/09 日漫
中国收音机工业发展史
2021/03/02 无线电
php array_slice函数的使用以及参数详解
2008/08/30 PHP
php截取utf-8中文字符串乱码的解决方法
2010/03/29 PHP
joomla jce editor 解决上传中文名文件失败问题
2013/06/09 PHP
php常用正则函数实例小结
2016/12/29 PHP
PHP实现对xml进行简单的增删改查(CRUD)操作示例
2017/05/19 PHP
greybox——不开新窗口看新的网页
2007/02/20 Javascript
jquery $.each 和for怎么跳出循环终止本次循环
2013/09/27 Javascript
前台js对象在后台转化java对象的问题探讨
2013/12/20 Javascript
js实现checkbox全选、不选与反选的方法
2015/02/09 Javascript
JavaScript实现删除,移动和复制文件的方法
2015/08/05 Javascript
javascript实现点击单选按钮链接转向对应网址的方法
2015/08/12 Javascript
JS操作COOKIE实现备忘记录的方法
2016/04/01 Javascript
js数字滑动时钟的简单实现(示例讲解)
2017/08/14 Javascript
vue中页面跳转拦截器的实现方法
2017/08/23 Javascript
浅谈SpringMVC中post checkbox 多选框value的值(隐藏域方式)
2018/01/08 Javascript
老生常谈JS中的继承及实现代码
2018/07/06 Javascript
javascript实现5秒倒计时并跳转功能
2019/06/20 Javascript
js判断密码强度的方法
2020/03/18 Javascript
[01:11]回顾历届DOTA2国际邀请赛中国区预选赛
2017/06/26 DOTA
Python实现字符串格式化的方法小结
2017/02/20 Python
python 中的divmod数字处理函数浅析
2017/10/17 Python
python实现自动发送邮件
2018/06/20 Python
在Python中居然可以定义两个同名通参数的函数
2019/01/31 Python
Pyqt5 实现跳转界面并关闭当前界面的方法
2019/06/19 Python
python 使用openpyxl读取excel数据
2021/02/18 Python
南非领先的在线旅行社:Travelstart南非
2016/09/04 全球购物
顶丰TOPPIK台湾官网:增发纤维假发,告别秃发困扰
2018/06/13 全球购物
介绍一下游标
2012/01/10 面试题
晚归检讨书
2014/02/19 职场文书
年度考核自我鉴定
2014/03/19 职场文书
2014年英语教学工作总结
2014/12/17 职场文书
巴黎圣母院观后感
2015/06/10 职场文书
2016高一新生军训心得体会
2016/01/11 职场文书
go开发alertmanger实现钉钉报警
2021/07/16 Golang