• 简单递归写侧边菜单栏


    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();
        }
    })

  • 相关阅读:
    layui formSelects-v4复选框总结等table操作记
    C# 更改 WebBrowser UserAgent
    SQL Server 页撕裂
    c# 实现操作系统 “运行” 功能
    asp.net updatepanel 客户端事件
    javascript des 加密解密
    无日志文件还原数据库(只有mdf无ldf)
    关于 WebForm 在未来微软的替代方案
    C# 从32位程序启动64位程序
    SQL SERVER 数据库修复方法 (数据库变为 "可疑")
  • 原文地址:https://www.cnblogs.com/liliy-w/p/8968756.html
Copyright © 2020-2023  润新知