layui自定義ajax左側(cè)三級(jí)菜單
本文實(shí)例為大家分享了layui自定義ajax左側(cè)三級(jí)菜單的具體代碼,供大家參考,具體內(nèi)容如下
HTML代碼: 需引入layui.css代碼
<!-- 左側(cè)的菜單 --> <div class="layui-side layui-bg-black" id="admin-side"> <div class="layui-side-scroll" id="admin-navbar-side" lay-filter="side"> </div> </div>
<!-- 右側(cè)tab選項(xiàng)卡和內(nèi)容 --> <div class="layui-body" style="bottom: 0;border-left: solid 2px #1AA094;" id="admin-body"> <div class="layui-tab admin-nav-card layui-tab-brief" lay-filter="admin-tab" lay-allowclose="true"> <ul class="layui-tab-title"> <!-- tab選項(xiàng)卡標(biāo)題 --> <li class="layui-this"> <i class="fa fa-dashboard" aria-hidden="true"></i> <cite>控制面板</cite> </li> </ul> <div class="layui-tab-content" style="min-height: 150px; padding: 5px 0 0 0;"> <!-- tab選項(xiàng)卡內(nèi)容 --> <div class="layui-tab-item layui-show"> <iframe src="main.html"></iframe> </div> </div> </div> </div>
js代碼:需引入 layui.all.js
var $ = layui.jquery, element = layui.element(), form = layui.form(); var html = ''; //獲取菜單 $.ajax({ url:"../manage/permissionList?type=1", type:"post", dataType:"json", data:{}, success:function(data){ var navs=data.result; $.each(navs,function(i,item){ html += '<dl>'; html += '<dt><a href="javascript:;" data-url="'+item.url+'" nav-id="'+item.id+'"><i class="'+item.icon+'"></i><cite>'+item.title+'</cite></a></dt>'; //如果有第二級(jí)菜單 if(item.children !== undefined && item.children.length > 0){ $.each(item.children,function(j,item2){ html += '<dd>'; html += '<a href="javascript:;" data-url="'+item2.url+'" nav-id="'+item2.id+'"><i class="'+item2.icon+'"></i><cite>'+item2.title+'</cite></a>'; //如果有三級(jí)菜單 if(item2.children !== undefined && item2.children.length > 0){ html += '<ul>'; $.each(item2.children,function(k,item3){ html += '<li>'+ '<a href="javascript:;" data-url="'+item3.url+'" nav-id="'+item3.id+'">'+ '<i class="'+item3.icon+'"></i>'+ '<cite>'+item3.title+'</cite>'+ '</a>'+ '</li>'; }); html += '</ul>'; } html += '</dd>'; }); } html += '</dl>'; }); //渲染html $('#admin-navbar-side').html(html); } }); //觸發(fā)事件 var active = { tabAdd: function(obj){ //新增一個(gè)Tab項(xiàng) element.tabAdd('admin-tab', { title: $(this).html()//用于演示 ,content: '<iframe src="'+$(this).attr('data-url')+'"></iframe>' }); element.tabChange("admin-tab", $('.layui-tab-title li').length - 1); }, tabDelete: function(index) { //刪除指定Tab項(xiàng) element.tabDelete('admin-tab', index); //刪除(注意序號(hào)是從0開始計(jì)算) } ,tabChange: function(lay_id){ //切換到指定Tab項(xiàng) element.tabChange('admin-tab', lay_id); //切換到:用戶管理 } }; //添加tab $(document).on('click','a',function(){ if(!$(this)[0].hasAttribute('data-url') || $(this).attr('data-url')==='')return; var title = $.trim($(this).text()); var tabs = $(".layui-tab-title").children(); for(var i = 0; i < tabs.length; i++) { if($(tabs).eq(i).children('cite').text() == title) { element.tabChange('admin-tab', i); return; } } active["tabAdd"].call(this); resize(); active.tabChange($(".layui-tab-title").children().length - 1); }); //iframe自適應(yīng) function resize(){ var $content = $('.admin-nav-card .layui-tab-content'); $content.height($(this).height() - 147); $content.find('iframe').each(function() { $(this).height($content.height()); }); } $(window).on('resize', function() { var $content = $('.admin-nav-card .layui-tab-content'); $content.height($(this).height() - 147); $content.find('iframe').each(function() { $(this).height($content.height()); }); }).resize(); //toggle左側(cè)菜單 $('.admin-side-toggle').on('click', function() { var sideWidth = $('#admin-side').width(); if(sideWidth === 200) { $('#admin-body').animate({ left: '0' }); //admin-footer $('#admin-footer').animate({ left: '0' }); $('#admin-side').animate({ width: '0' }); } else { $('#admin-body').animate({ left: '200px' }); $('#admin-footer').animate({ left: '200px' }); $('#admin-side').animate({ width: '200px' }); } }); $(document).on('click','dt',function(){ $(this).parent().find('dd').toggle(); }); $(document).on('click','dd a',function(){ $(this).next('ul').toggle(); });
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JavaScript的基礎(chǔ)語法和數(shù)據(jù)類型詳解
這篇文章主要介紹了JavaScript的基礎(chǔ)語法和數(shù)據(jù)類型,保姆級(jí)的詳細(xì)教程,萬字長文詳細(xì)的列出了JavaScript的各種語法,建議收藏系列,希望可以有所幫助2021-09-09JavaScript調(diào)用模式與this關(guān)鍵字綁定的關(guān)系
這篇文章主要介紹了JavaScript調(diào)用模式與this關(guān)鍵字綁定的關(guān)系 的相關(guān)資料,需要的朋友可以參考下2018-04-04javascript jscroll模擬html元素滾動(dòng)條
這里是自己在工作不太忙的時(shí)候?qū)懗鰜砹艘粋€(gè)用戶可以自定義的滾動(dòng)條jscroll,以下簡(jiǎn)稱jscroll。jscroll默認(rèn)只提供一種滾動(dòng)條樣式,部分樣式來自google webstore ,其中有部分css3樣式主要用于實(shí)現(xiàn)圓角,陰影效果2012-12-12JS新標(biāo)簽頁打開的方法大全(讓你的網(wǎng)站訪問更加便捷)
在開發(fā)Web應(yīng)用中我們常常需要在當(dāng)前頁面打開一個(gè)鏈接,但又不希望離開當(dāng)前頁面,這篇文章主要給大家介紹了關(guān)于JS新標(biāo)簽頁打開的方法大全,通過這些方法可以讓你的網(wǎng)站訪問更加便捷,需要的朋友可以參考下2023-10-10JS實(shí)現(xiàn)面包屑導(dǎo)航功能從零開始示例
這篇文章主要為大家介紹了JS實(shí)現(xiàn)面包屑導(dǎo)航功能從零開始示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12Bootstrap導(dǎo)航條鼠標(biāo)懸停下拉菜單
這篇文章主要為大家詳細(xì)介紹了Bootstrap導(dǎo)航條鼠標(biāo)懸停下拉菜單,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-01-01