layUI 學習記錄
阿新 • • 發佈:2018-12-14
1 點選導航欄跳轉頁面
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> <title>layout 後臺大布局 - Layui</title> <link rel="stylesheet" href="/css/layui.css"> </head> <body class="layui-layout-body"> <div class="layui-layout layui-layout-admin"> <div class="layui-header"> <div class="layui-logo">傳送簡訊後臺</div> </div> <div class="layui-side layui-bg-black"> <div class="layui-side-scroll"> <!-- 左側導航區域(可配合layui已有的垂直導航) --> <ul class="layui-nav layui-nav-tree" lay-filter="test"> <li class="layui-nav-item layui-nav-itemed"> <a class="" href="javascript:;">傳送簡訊</a> <dl class="layui-nav-child"> <dd><a href="javascript:;" data-id="1" data-title="發簡訊" data-url="sentMessage.html" class="site-demo-active" data-type="tabAdd">發簡訊</a></dd> <dd><a href="javascript:;" data-id="2" data-title="已發列表" data-url="" class="site-demo-active" data-type="tabAdd">已發列表</a></dd> </dl> </li> </ul> </div> </div> <!-- <div class="layui-body"> 內容主體區域 <div style="padding: 15px;"> </div> </div> --> <!--tab標籤--> <div class="layui-tab" lay-filter="demo" lay-allowclose="true" style="margin-left: 200px;"> <ul class="layui-tab-title"></ul> <div class="layui-tab-content"></div> </div> <div class="layui-footer"> <!-- 底部固定區域 --> © layui.com - 校園服務 </div> </div> <script src="/layui.js"></script> <script> //JavaScript程式碼區域 /* layui.use('element', function(){ var element = layui.element; }); */ layui.use(['element', 'layer', 'jquery'], function () { var element = layui.element; // var layer = layui.layer; var $ = layui.$; // 配置tab實踐在下面無法獲取到選單元素 $('.site-demo-active').on('click', function () { var dataid = $(this); //這時會判斷右側.layui-tab-title屬性下的有lay-id屬性的li的數目,即已經開啟的tab項數目 if ($(".layui-tab-title li[lay-id]").length <= 0) { //如果比零小,則直接開啟新的tab項 active.tabAdd(dataid.attr("data-url"), dataid.attr("data-id"), dataid.attr("data-title")); } else { //否則判斷該tab項是否以及存在 var isData = false; //初始化一個標誌,為false說明未開啟該tab項 為true則說明已有 $.each($(".layui-tab-title li[lay-id]"), function () { //如果點選左側選單欄所傳入的id 在右側tab項中的lay-id屬性可以找到,則說明該tab項已經開啟 if ($(this).attr("lay-id") == dataid.attr("data-id")) { isData = true; } }) if (isData == false) { //標誌為false 新增一個tab項 active.tabAdd(dataid.attr("data-url"), dataid.attr("data-id"), dataid.attr("data-title")); } } //最後不管是否新增tab,最後都轉到要開啟的選項頁面上 active.tabChange(dataid.attr("data-id")); }); var active = { //在這裡給active繫結幾項事件,後面可通過active呼叫這些事件 tabAdd: function (url, id, name) { //新增一個Tab項 傳入三個引數,分別對應其標題,tab頁面的地址,還有一個規定的id,是標籤中data-id的屬性值 //關於tabAdd的方法所傳入的引數可看layui的開發文件中基礎方法部分 element.tabAdd('demo', { title: name, content: '<iframe data-frameid="' + id + '" scrolling="auto" frameborder="0" src="' + url + '" style="width:100%;height:99%;"></iframe>', id: id //規定好的id }) FrameWH(); //計算ifram層的大小 }, tabChange: function (id) { //切換到指定Tab項 element.tabChange('demo', id); //根據傳入的id傳入到指定的tab項 }, tabDelete: function (id) { element.tabDelete("demo", id);//刪除 } }; function FrameWH() { var h = $(window).height(); $("iframe").css("height",h+"px"); } }); </script> </body> </html>
參考資料: