基于Jquery代码实现手风琴菜单


Posted in Javascript onNovember 19, 2015

先给大家展示效果图:

基于Jquery代码实现手风琴菜单

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

<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手风琴菜单就实现了。需要的朋友快来参考下吧。

Javascript 相关文章推荐
ToolTips JQEURY插件之简洁小提示框效果
Nov 19 Javascript
jquery foreach使用示例
Sep 12 Javascript
使用jQuery解决IE与FireFox下createElement方法的差异
Nov 14 Javascript
PHP+jQuery实现随意拖动层并即时保存拖动位置
Apr 30 Javascript
SpringMVC框架下JQuery传递并解析Json格式的数据是如何实现的
Dec 10 Javascript
JS实现关闭当前页而不弹出提示框的方法
Jun 22 Javascript
JS数组中对象去重操作示例
Jun 04 Javascript
jquery validate 实现动态增加/删除验证规则操作示例
Oct 28 jQuery
Vue退出登录时清空缓存的实现
Nov 12 Javascript
原生JS实现烟花效果
Mar 10 Javascript
微信小程序 获取手机号 JavaScript解密示例代码详解
May 14 Javascript
Js类的构建与继承案例详解
Sep 15 Javascript
跟我学习javascript的作用域与作用域链
Nov 19 #Javascript
每天一篇javascript学习小结(属性定义方法)
Nov 19 #Javascript
理解 JavaScript Scoping &amp; Hoisting(二)
Nov 18 #Javascript
js立即执行函数: (function ( ){})( ) 与 (function ( ){}( )) 有什么区别?
Nov 18 #Javascript
z-blog SyntaxHighlighter 长代码无法换行解决办法(基于jquery)
Nov 18 #Javascript
JavaScript如何获取数组最大值和最小值
Nov 18 #Javascript
原生js模拟淘宝购物车项目实战
Nov 18 #Javascript
You might like
造就帕卡马拉的帕卡斯是怎么被发现的
2021/03/03 咖啡文化
php方法调用模式与函数调用模式简例
2011/09/20 PHP
php在linux下检测mysql同步状态的方法
2015/01/15 PHP
PHP回调函数概念与用法实例分析
2017/11/03 PHP
JS面向对象、prototype、call()、apply()
2009/05/14 Javascript
jquery中获得$.ajax()事件返回的值并添加事件的方法
2010/04/15 Javascript
JQuery入门——用one()方法绑定事件处理函数(仅触发一次)
2013/02/05 Javascript
JQuery文本改变触发事件如聚焦事件、失焦事件
2014/01/15 Javascript
js的touch事件的实际引用
2014/10/13 Javascript
Dojo Javascript 编程规范 规范自己的JavaScript书写
2014/10/26 Javascript
ajax+jQuery实现级联显示地址的方法
2015/05/06 Javascript
JavaScript轮播停留效果的实现思路
2018/05/24 Javascript
原生JavaScript实现五子棋游戏
2020/11/09 Javascript
python两种遍历字典(dict)的方法比较
2014/05/29 Python
详细介绍Ruby中的正则表达式
2015/04/10 Python
Django 实现图片上传和显示过程详解
2019/07/18 Python
Python+OpenCV实现将图像转换为二进制格式
2020/01/09 Python
TensorFlow2.1.0最新版本安装详细教程
2020/04/08 Python
Python字符串对齐、删除字符串不需要的内容以及格式化打印字符
2021/01/23 Python
浅析两列自适应布局的3种思路
2016/05/03 HTML / CSS
css背景图片的背景裁切、背景透明度、背景变换等效果运用
2012/12/24 HTML / CSS
html5 Canvas画图教程(5)—canvas里画曲线之arc方法
2013/01/09 HTML / CSS
Fossil加拿大官网:化石手表、手袋、首饰及配饰
2019/04/23 全球购物
物流管理专业应届生求职信
2013/11/21 职场文书
四年的大学生生活自我评价
2013/12/09 职场文书
2014年大学庆元旦迎新年活动方案
2014/03/09 职场文书
纪检干部对照检查材料
2014/08/22 职场文书
单位租房协议书范本
2014/12/04 职场文书
2015年八一建军节慰问信
2015/03/23 职场文书
2015年综治宣传月活动总结
2015/03/25 职场文书
社区环境卫生倡议书
2015/04/29 职场文书
2015年幼儿园中班开学寄语
2015/05/27 职场文书
美德少年事迹材料(2016推荐版)
2016/02/25 职场文书
python批量创建变量并赋值操作
2021/06/03 Python
漫画《催眠麦克风-Dawn Of Divisions》第二卷PV公开
2022/04/05 日漫
html中相对位置与绝对位置的具体使用
2022/05/15 HTML / CSS