layui添加动态菜单与选项卡 AJAX请求的例子

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta content="width=device-width, initial-scale=1, maximum-scale=1"> <title>Layui</title> <link href="https://www.jb51.net/js/css/layui.css" media="all"> </head> <body> <div> <div> <!-- 左侧导航区域(可配合layui已有的垂直导航) --> <ul lay-filter="test"></ul> </div> </div> <div> <!-- 动态选项卡 --> <div lay-filter="tabDemo" lay-allowclose="true"> <ul></ul> <div></div> </div> </div> <script src="https://www.jb51.net/js/layui.all.js" charset="utf-8"></script> <script type="text/javascript" src="https://www.jb51.net/js/index.js" ></script> </body> </html>

index.js

layui.use('element', function() { function checkLastItem(arr, i) { return arr.length == (i + 1); } function getAhtml(obj){ return "<a href=https://www.jb51.net/article/\"javascript:;\" οnclick=https://www.jb51.net/article/\"addTab('" + obj.name + "','" + obj.url + "')\" >" + obj.name + "</a>"; } //动态菜单 layui.jquery.ajax({ url: "http://127.0.0.1:18000/sys/menus", method: 'POST', success: function(res) { var html = ""; for(var i = 0; i < res.length; i++) { var strli = "<li class=https://www.jb51.net/article/\"layui-nav-item lay-unselect \" >"; if (res[i].url =='#'){ strli = strli + "<a href=https://www.jb51.net/article/\"javascript:;\">" + res[i].name + "</a>"; console.log(res[i].name) }else{ strli = strli + getAhtml(res[i]); } if(res[i].pId == "0" && !checkLastItem(res, i) && res[i + 1].pId != "0") { strli = strli + "<dl class=https://www.jb51.net/article/\"layui-nav-child\" >"; for(; !checkLastItem(res, i) && res[i + 1].pId != "0"; i++) { strli = strli + "<dd>"+getAhtml(res[i+1])+"</dd>"; } strli = strli + "</dl>"; } strli = strli + "</li>"; html = html + strli; } layui.jquery("#memus").html(html); layui.element.init(); //一定初始化一次 } }) }); //添加选项卡 function addTab(name, url) { if(layui.jquery(".layui-tab-title li[lay-id='" + name + "']").length > 0) { //选项卡已经存在 layui.element.tabChange('tabDemo', name); layer.msg('切换-' + name) } else { //动态控制iframe高度 var tabheight = layui.jquery(window).height() - 95; contentTxt = '<iframe src="' + url + '" scrolling="no"></iframe>'; //新增一个Tab项 layui.element.tabAdd('tabDemo', { title: name, content: contentTxt, id: name }) //切换刷新 layui.element.tabChange('tabDemo', name) layer.msg('新增-' + name) } }

菜单JSON

[ { "name": "首页", "url": "shouye.html", "id": "1", "pId": "0" }, { "name": "数据库", "url": "#", "id": "1", "pId": "0" }, { "name": "MYSQL", "url": "mysql.html", "id": "2", "pId": "1" }, { "name": "ORACLE", "url": "oracle.html", "id": "3", "pId": "1" }, { "name": "开发语言", "url": "#", "id": "4", "pId": "0" }, { "name": "JAVA", "url": "java.html", "id": "5", "pId": "4" }, { "name": "Python", "url": "python.html", "id": "6", "pId": "4" } ]

效果截图

layui添加动态菜单与选项卡 AJAX请求的例子

以上这篇layui添加动态菜单与选项卡 AJAX请求的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/a6ab24ebc4ee4fb8833e07a2d01672f7.html