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>

 

posted @ 2012-12-28 13:46  zhangchaozheng  阅读(3609)  评论(0编辑  收藏  举报