基于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 相关文章推荐
JavaScript打字小游戏代码
Dec 26 Javascript
Jquery 实现checkbox全选方法
Jan 28 Javascript
Javascript实现单例模式
Jan 24 Javascript
AngularJS数据源的多种获取方式汇总
Feb 02 Javascript
JavaScript重定向URL参数的两种方法小结
Oct 19 Javascript
用AngularJS来实现监察表单按钮的禁用效果
Nov 02 Javascript
JavaScript基础之AJAX简单的小demo
Jan 29 Javascript
JS数组搜索之折半搜索实现方法分析
Mar 27 Javascript
Vue3.0数据响应式原理详解
Oct 09 Javascript
javascript 使用sleep函数的常见方法详解
Apr 26 Javascript
JavaScript鼠标悬停事件用法解析
May 15 Javascript
基于Echarts图表在div动态切换时不显示的解决方式
Jul 20 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
php xml 入门学习资料
2011/01/01 PHP
Zend的MVC机制使用分析(二)
2013/05/02 PHP
ThinkPHP框架实现session跨域问题的解决方法
2014/07/01 PHP
php简单统计字符串单词数量的方法
2015/06/19 PHP
Laravel接收前端ajax传来的数据的实例代码
2017/07/20 PHP
CodeIgniter整合Smarty的方法详解
2017/08/25 PHP
javascript replace方法与正则表达式
2008/02/19 Javascript
网页中的图片的处理方法与代码
2009/11/26 Javascript
用Javascript评估用户输入密码的强度实现代码
2011/11/30 Javascript
jQuery插件原来如此简单 jQuery插件的机制及实战
2012/02/07 Javascript
jquery的ajax和getJson跨域获取json数据的实现方法
2014/02/04 Javascript
easyui messager alert 三秒后自动关闭提示的实例
2016/11/07 Javascript
解析利用javascript如何判断一个数为素数
2016/12/08 Javascript
在Vue组件上动态添加和删除属性方法
2018/02/23 Javascript
element ui里dialog关闭后清除验证条件方法
2018/02/26 Javascript
Vue2.0实现简单分页及跳转效果
2019/07/29 Javascript
Jquery滑动门/tab切换实现方法完整示例
2020/06/05 jQuery
[02:06]DOTA2肉山黑名单魔法终结者 敌法师中文配音鉴赏
2013/06/17 DOTA
[01:32]2016国际邀请赛中国区预选赛CDEC战队教练采访
2016/06/26 DOTA
在Python程序中操作文件之flush()方法的使用教程
2015/05/24 Python
python3.0 模拟用户登录,三次错误锁定的实例
2017/11/02 Python
Python中的pygal安装和绘制直方图代码分享
2017/12/08 Python
numpy中loadtxt 的用法详解
2018/08/03 Python
python下的opencv画矩形和文字注释的实现方法
2019/07/09 Python
Python测试模块doctest使用解析
2019/08/10 Python
python中通过selenium简单操作及元素定位知识点总结
2019/09/10 Python
Python3 搭建Qt5 环境的方法示例
2020/07/16 Python
python两种注释用法的示例
2020/10/09 Python
Python实现给PDF添加水印的方法
2021/01/25 Python
巧用CSS3的calc()宽度计算做响应模式布局的方法
2018/03/22 HTML / CSS
旧时光糖果:Old Time Candy
2018/02/05 全球购物
班级聚会策划书
2014/01/16 职场文书
2015关爱留守儿童工作总结
2014/12/12 职场文书
清洁工个人工作总结
2015/03/05 职场文书
2015年小学体育教师工作总结
2015/10/23 职场文书
canvas 中如何实现物体的框选
2022/08/05 Javascript