Jq实现重叠效果-实现无限级分类树形中js 的折叠效果

来源:互联网 发布:阿里云企业邮箱后缀 编辑:程序博客网 时间:2024/05/17 12:48

案例:





代码实现:

首先,在静态页面导入jq包;

然后,代码实现如下:

    //获取当前的 a 标签    $('a.zd').click(function(){        //找到当前所在的tr        var tr = $(this).parent().parent();        //获取当前的级别level        var cur_level = $(this).attr('level');        //获取当前a标签的内容        var opt = $(this).html();        //判断当前是否为[-]        if(opt == '[-]')        {            //是,则在当前tr中,取出子分类并隐藏.nextAll()和preAll()获取的是兄弟节点            tr.nextAll('tr').each(function(){            //再判断a标签内 level是否大于 当前cur_level值            if($(this).find('a.zd').attr('level') > cur_level)            {            $(this).hide();            //大于,则隐藏            }            else            {            return false;            }            });            $(this).html('[+]');        }        else        {        //若当前是[+] ,则其子分类应展示        tr.nextAll('tr').each(function(){        if($(this).find('a.zd').attr('level') > cur_level)        {        $(this).show();        if($(this).find('a.zd').html()== '[+]')        {        return false;        }        }        else    {    return false;    }        });        $(this).html('[-]');        }    });



0 0