jQuery实现可收缩展开的级联菜单实例代码

如果用纯JavaScript代码而不使用框架的话,那么做一个级联菜单也许是一件让人生畏的事情,但有了框架,这件事情就很容易了,这就是框架的好处,极大地提高了开发效率,并且更可靠和易于维护。使用jQuery来实现级联菜单的一般步骤如下:

•1.首先使用

  • 创建一个级联菜单 

    复制代码 代码如下:

            "http://www.w3.org/TR/html4/loose.dtd">


      itcast.cn的JQuery应用示例:弹出菜单
     
     
     


       
       



    •2.编写JavaScript代码,控制级联菜单的收缩
    复制代码 代码如下:

    //需要点击主菜单的按钮时,对应的子菜单可以显示,再次点击子菜单则隐藏
    //需要编写代码,在页面装载时,给所有的主菜单添加onclick的事件
    //保证主菜单点击时可以显示或隐藏子菜单
    //注册页面装载时执行的方法
    $(document).ready(function() {
        //这里需要首先找到所有的主菜单
        //然后给所有的主菜单注册点击事件
        //找到ul中的节点
        var as = $("ul > a");
        as.click(function() {
            //这里需要找到当前ul中的li,然后让li显示出来
            //获取当前被点击的a节点
            var aNode = $(this);
            //找到当前a节点的所有li兄弟字节点
            var lis = aNode.nextAll("li");
            //让子节点显示或隐藏
            lis.toggle("show");
        });
    });

    •创建css文件,来控制标签的显示效果
    复制代码 代码如下:

    /*如何让所有的li都不显示小圆点,可以使用css的标签选择器*/
    li {
        list-style: none; /*使li前面的小圆点消失*/
        margin-left: 18px; /*让子菜单向右移动一段距离,达到缩进的效果*/
        display: none; /*让所有的子菜单都先隐藏*/
    }
    a{
      text-decoration: none; /*让链接的下划线消失*/
    }

    jQuery带来的方便:

    1.在找被点击的菜单时,仅需要一个$(this)就可以实现

    2.节点的显示与隐藏,只用一条语句:toggle()就可以,并且还可以在数组上实现所有节点都具有这种功能。

    3.找到某个标签下所有的某种标签:$("ul > a")

你可能感兴趣的:(jQuery实现可收缩展开的级联菜单实例代码)