4行代码简单实现js树形菜单
通常情况下,我们都会用到一些树形菜单,但一时间苦于不知道如何选择合适的控件进行整合。
于是打算自己尝试弄个简单的树形菜单。在这过程中,我发现: 对于一棵简单的树形菜单,4行代码足矣。
html代码的编写,直接采用了ul-li的嵌套方式。主要的javascript代码如下:
1 $(".menu ul").css("display","none"); 2 $(".menu a").on("click", function(){ 3 $(this).next().toggle(); 4 });
原理很简单:
1. 初始化时,把ul隐藏。
2. 点击菜单时,切换它下面的ul显示或隐藏。
具体和效果如下图:
完整代码如下:
View Code
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>menu tree</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> </head> <ul class="menu"> <li> <a href="#">A1</a> <ul> <li><a href="#">A1-1</a></li> <li><a href="#">A1-2</a></li> <li> <a href="#">A1-3</a> <ul> <li><a href="#">A1-3-1</a></li> <li><a href="#">A1-3-2</a></li> </ul> </li> </ul> </li> <li> <a href="#">A2</a> <ul> <li><a href="#">A2-1</a></li> <li><a href="#">A2-2</a></li> </ul> </li> <li><a href="#">A3</a></li> </ul> <body> <script type="text/javascript" src="loginFile/jquery.js"></script> <script type="text/javascript"> $(document).ready(function(){ $(".menu ul").css("display","none"); $(".menu a").on("click", function(){ $(this).next().toggle(); }); }); </script> </body> </html>