zoukankan      html  css  js  c++  java
  • 简单递归写侧边菜单栏

    htm:

    <div id="main">
    
    </div>

    data:

    {
        "code": 100,
        "content": {
            "rows": [
                { "id": "1", "name": "父节点1", "url": "www", "pid": "0" },
                { "id": "4", "name": "父节点11", "url": "", "pid": "1" },
                { "id": "13", "name": "父节点111", "url": "", "pid": "4" },
                { "id": "14", "name": "父节点112", "url": "", "pid": "4" },
                { "id": "5", "name": "父节点12", "url": "", "pid": "1" },
                { "id": "6", "name": "父节点13", "url": "", "pid": "1" },
                { "id": "2", "name": "父节点4", "url": "", "pid": "0" },
                { "id": "7", "name": "父节点41", "url": "", "pid": "2" },
                { "id": "8", "name": "父节点42", "url": "", "pid": "2" },
                { "id": "9", "name": "父节点43", "url": "", "pid": "2" },
                { "id": "3", "name": "父节点5", "url": "", "pid": "0" },
                { "id": "10", "name": "父节点51", "url": "", "pid": "3" },
                { "id": "11", "name": "父节点52", "url": "", "pid": "3" },
                { "id": "12", "name": "父节点53", "url": "", "pid": "3" }
            ]
        },
        "message": "成功"
    } 

    js:

     //主方法,运用递归实现
    var createTree = function(jsons, pid) {
        if (jsons != null) {
            var ul = '<ul class="nav">';
            for (var i = 0; i < jsons.length; i++) {
                if (jsons[i].pid == pid) {
                    ul += '<li class="item">' + jsons[i].name + "</li>";
                    ul += createTree(jsons, jsons[i].id);
                }
            }
            ul += "</ul>";
        }
        return ul;
    }
    
    //调用
     $.ajax({
        url: 'data/menu.json',
        dataType: 'json',
        type: 'get',
        async: false,
        success: function(data) {
            if (data.code == 100) {
                var treeData = data.content.rows;
                var ul = createTree(treeData, 0);
                $("#continer").append(ul);
            }
    
        }
    });
    $('#continer li').on("click",function(){
        var nextMenu=$(this).next('ul');if(nextMenu.length>0){
           $(nextMenu).show().siblings('ul').hide();
        }
    })

  • 相关阅读:
    WebApp 里Meta标签大全,webappmeta标签大全
    写给自己的Java程序员学习路线图
    JAVA学习路线图
    JavaScript经典作用域问题(转载)
    js 判断当前操作系统是ios还是android还是电脑端
    css动画,展开折叠图标
    CSU 1335 高桥和低桥
    codevs 1341 与3和5无关的数
    noi 7827 质数的和与积
    51nod 1082 与7无关的数
  • 原文地址:https://www.cnblogs.com/liliy-w/p/8968756.html
Copyright © 2011-2022 走看看