基于jquery实现三级下拉菜单
本文实例为大家分享了jquery三级下拉菜单的具体实现代码,供大家参考,具体内容如下
在写这个的时候,首先要捋顺思路。点一个菜单的时候,其他的要闭合,点一级菜单的时候,二三级菜单要闭合,等等。
大致代码如下:
<body> <aside> <ul class="one"> <li> <a href="#" class="a">目录A</a> <ul class="two" style="display: none"> <li><a href="#" class="a">二级目录A</a> <ul class="three" style="display: none"> <li><a href="#">三级目录A</a></li> </ul> </li> <li><a href="#" class="a">二级目录B</a></li> <li><a href="#" class="a">二级目录C</a></li> </ul> </li> <li> <a href="#" class="a">目录B</a> <ul class="two" style="display: none"> <li><a href="#" class="a">二级目录A</a> <ul class="three" style="display: none"> <li><a href="#">三级目录A</a></li> </ul> </li> <li><a href="#" class="a">二级目录B</a></li> <li><a href="#" class="a">二级目录C</a></li> </ul> </li> <li> <a href="#" class="a">目录C</a> </li> </ul> </aside> //jQuery部分 <script src="js/jquery-1.8.3.min.js"></script> <script> $(document).ready(function() { $('.a').click(function() { if ($(this).siblings('ul').css('display') == 'none') { $(this).siblings('ul').slideDown(100).children('li'); if ($(this).parents('li').siblings('li').children('ul').css('display') == 'block') { $(this).parents('li').siblings('li').children('ul').slideUp(100); } } else { //控制自身菜单下子菜单隐藏 $(this).siblings('ul').slideUp(100); //控制自身菜单下子菜单隐藏 $(this).siblings('ul').children('li').children('ul').slideUp(100); } }); }); </script> </body>
如果要添加样式的话,一定要注意,否则菜单可能会出现错误。
完整代码地址:https://github.com/SabrinaTian/ThreeMenuNav.git
git里还有一个带有图标的案例,不点击的话是+号,菜单打开后,变为-号。
以上就是本文的全部内容,希望对大家的学习有所帮助。
相关文章
浅谈JSON和JSONP区别及jQuery的ajax jsonp的使用
文章从JSON和JSONP区别开始讲起,用实例来对比他们之间的不同之处,然后详细讲解了jQuery中的ajax jsonp的使用并给出了示例及详细参数说明。这里推荐给大家,希望对小伙伴能有所帮助2014-11-11jQuery select表单提交省市区城市三级联动核心代码
这篇文章主要介绍了jQuery select表单提交省市区城市三级联动核心代码,需要的朋友可以参考下2014-06-06jQuery Easyui使用(一)之可折叠面板的布局手风琴菜单
这篇文章主要介绍了jQuery Easyui使用(一)之可折叠面板的布局手风琴菜单的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下2016-08-08jquery序列化form表单使用ajax提交后处理返回的json数据
这篇文章主要介绍了jquery序列化form表单,使用ajax提交后处理返回的json数据的示例,需要的朋友可以参考下2014-03-03
最新评论