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 UI Grid 模态框中的表格实例代码
Apr 01 jQuery
jQuery validata插件实现方法
Jun 25 jQuery
jQuery Position方法使用和兼容性
Aug 23 jQuery
jQuery Collapse1.1.0折叠插件简单使用
Aug 28 jQuery
jQuery基于cookie实现换肤功能实例
Oct 14 jQuery
jquery使用iscorll实现上拉、下拉加载刷新
Oct 26 jQuery
jquery学习笔记之无new构建详解
Dec 07 jQuery
jQuery实现适用于移动端的跑马灯抽奖特效示例
Jan 18 jQuery
JQuery中的常用事件、对象属性与使用方法分析
Dec 23 jQuery
jQuery实现滑动开关效果
Aug 02 jQuery
jQuery实现带进度条的轮播图
Sep 13 jQuery
jQuery实现tab栏切换效果
Dec 22 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
全国FM电台频率大全 - 19 广东省
2020/03/11 无线电
请php正则走开
2008/03/15 PHP
关于php循环跳出的问题
2013/07/01 PHP
php目录操作实例代码
2014/02/21 PHP
Laravel相关的一些故障解决
2020/08/19 PHP
JS option location 页面跳转实现代码
2008/12/27 Javascript
基于JavaScript实现文字超出部分隐藏
2016/02/29 Javascript
异步加载JS、CSS代码(推荐)
2016/06/15 Javascript
常用原生js自定义函数总结
2016/11/20 Javascript
Bootstrap CSS组件之下拉菜单(dropdown)
2016/12/17 Javascript
jQuery+pjax简单示例汇总
2017/04/21 jQuery
Angular2+如何去除url中的#号详解
2017/12/20 Javascript
angularjs 动态从后台获取下拉框的值方法
2018/08/13 Javascript
解决vue-cli单页面手机应用input点击手机端虚拟键盘弹出盖住input问题
2018/08/25 Javascript
在Create React App中使用CSS Modules的方法示例
2019/01/15 Javascript
vue动态子组件的两种实现方式
2019/09/01 Javascript
layerui代码控制tab选项卡,添加,关闭的实例
2019/09/04 Javascript
windows下create-react-app 升级至3.3.1版本踩坑记
2020/02/17 Javascript
Python基于sftp及rsa密匙实现远程拷贝文件的方法
2016/09/21 Python
简单了解python模块概念
2018/01/11 Python
pyQt4实现俄罗斯方块游戏
2018/06/26 Python
Python判断对象是否相等及eq函数的讲解
2019/02/25 Python
解决pycharm运行程序出现卡住scanning files to index索引的问题
2019/06/27 Python
python利用tkinter实现图片格式转换的示例
2020/09/28 Python
纯CSS3编写的的精美动画进度条(无flash/无图像/无脚本/附源码)
2013/01/07 HTML / CSS
实例讲解CSS3中的border-radius属性
2015/08/18 HTML / CSS
全球知名的珠宝首饰品牌:Kay Jewelers
2018/02/11 全球购物
Quiksilver美国官网:始于1969年的优质冲浪服和滑雪板外套
2020/04/20 全球购物
工作疏忽检讨书
2014/01/25 职场文书
单位创先争优活动方案
2014/01/26 职场文书
重阳节登山活动方案
2014/02/03 职场文书
开业庆典策划方案
2014/02/18 职场文书
2015年公务员转正工作总结
2015/04/24 职场文书
工资证明格式模板
2015/06/12 职场文书
2015年秋季灭鼠工作总结
2015/07/27 职场文书
python index() 与 rindex() 方法的使用示例详解
2022/12/24 Python