简单递归写侧边菜单栏
Posted lily
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简单递归写侧边菜单栏相关的知识,希望对你有一定的参考价值。
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(); } })
以上是关于简单递归写侧边菜单栏的主要内容,如果未能解决你的问题,请参考以下文章