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实现分页功能(含ajax请求、后台数据、附完整demo)
Apr 03 jQuery
JavaScript使用链式方法封装jQuery中CSS()方法示例
Apr 07 jQuery
jQuery EasyUI 组件加上“清除”功能实例详解
Apr 11 jQuery
JQuery实现图片轮播效果
May 08 jQuery
jQuery Ajax向服务端传递数组参数值的实例代码
Sep 03 jQuery
React中jquery引用的实现方法
Sep 12 jQuery
jQuery发请求传输中文参数乱码问题的解决方案
May 22 jQuery
jQuery实现侧边栏隐藏与显示的方法详解
Dec 22 jQuery
Jquery获取radio选中值实例总结
Jan 17 jQuery
jQuery实现的3D版图片轮播示例【滑动轮播】
Jan 18 jQuery
Vue CLI3.0中使用jQuery和Bootstrap的方法
Feb 28 jQuery
jquery ajax 请求小技巧实例分析
Nov 11 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
《破坏领主》销量已超100万 未来将继续开发新内容
2020/03/08 其他游戏
php实现获取文章内容第一张图片的方法
2014/11/04 PHP
js实现addClass,removeClass,hasClass的函数代码
2011/07/13 Javascript
JQuery以JSON方式提交数据到服务端示例代码
2014/05/05 Javascript
jQuery实现菜单感应鼠标滑动动画效果的方法
2015/02/28 Javascript
jquery插件autocomplete用法示例
2016/07/01 Javascript
jquery表格datatables实例解析 直接加载和延迟加载
2016/08/12 Javascript
jquery+ajax实现省市区三级联动效果简单示例
2017/01/04 Javascript
jquery滚动条插件slimScroll使用方法
2017/02/09 Javascript
JavaScript中重名的函数与对象示例详析
2017/09/28 Javascript
Vue的轮播图组件实现方法
2018/03/03 Javascript
JavaScript基础心法 数据类型
2018/03/05 Javascript
Javascript的console['']常用输入方法汇总
2018/04/26 Javascript
三分钟学会用ES7中的Async/Await进行异步编程
2018/06/14 Javascript
对Vue- 动态元素属性及v-bind和v-model的区别详解
2018/08/27 Javascript
VUE+Element实现增删改查的示例源码
2020/11/23 Vue.js
[02:57]2014DOTA2国际邀请赛-观众采访
2014/07/19 DOTA
python读取json文件并将数据插入到mongodb的方法
2015/03/23 Python
python获取本地计算机名字的方法
2015/04/29 Python
Python使用matplotlib实现在坐标系中画一个矩形的方法
2015/05/20 Python
Python读取键盘输入的2种方法
2015/06/16 Python
Django多数据库的实现过程详解
2019/08/01 Python
使用Python测试Ping主机IP和某端口是否开放的实例
2019/12/17 Python
Django框架静态文件处理、中间件、上传文件操作实例详解
2020/02/29 Python
英国舒适型鞋履品牌:FitFlop
2017/05/17 全球购物
eDreams加拿大:廉价航班、酒店和度假
2019/03/29 全球购物
机械工程师求职自我评价
2013/09/23 职场文书
求职自荐书范文
2013/12/04 职场文书
安全教育月活动总结
2014/05/05 职场文书
需求分析说明书
2014/05/09 职场文书
演讲稿的写法
2014/05/19 职场文书
党课心得体会范文
2014/09/09 职场文书
解放思想大讨论活动心得体会
2014/09/11 职场文书
迎国庆演讲稿
2014/09/15 职场文书
交通事故委托书范本
2014/09/28 职场文书
PHP命令行与定时任务
2021/04/01 PHP