网页技术交流
 
发新帖
楼主: 零五零八
查看: 1450|回复: 0

[使用教程] 使用layui框架实现点击左侧导航切换右侧内容且右侧选项卡...

[复制链接]
零五零八 发表于 2021-2-28 18:09:25 | 显示全部楼层
本帖最后由 零五零八 于 2021-2-28 18:12 编辑

1.png


用了layui框架


1.home.html主界面


  1. <!DOCTYPE html>
  2. <html>
  3.     <head>
  4.         <meta charset="UTF-8">
  5.         <title>首页</title>
  6.         <script src="../js/jquery.js"></script>
  7.         <link rel="stylesheet" href="../layui/css/layui.css">
  8.     </head>
  9.     <body class="layui-layout-body">
  10.         <div class="layui-layout layui-layout-admin">
  11.           <!--1.头部区域-->
  12.           <div class="layui-header">
  13.             <div class="layui-logo">后台管理</div>
  14.             <!-- 头部区域(可配合layui已有的水平导航) -->
  15.             <ul class="layui-nav layui-layout-left">
  16.             </ul>
  17.             <ul class="layui-nav layui-layout-right">
  18.               <!--<li class="layui-nav-item">
  19.                 <a href="javascript:;">
  20.                   <img src="http://t.cn/RCzsdCq" class="layui-nav-img">
  21.                   贤心
  22.                 </a>
  23.                 <dl class="layui-nav-child">
  24.                   <dd><a href="">基本资料</a></dd>
  25.                   <dd><a href="">安全设置</a></dd>
  26.                 </dl>
  27.               </li>
  28.               <li class="layui-nav-item"><a href="">退了</a></li>-->
  29.             </ul>
  30.           </div>
  31.             <!--2.左侧导航-->
  32.           <div class="layui-side layui-bg-black">
  33.             <div class="layui-side-scroll">
  34.               <!-- 左侧导航区域(可配合layui已有的垂直导航) -->
  35.               <ul class="layui-nav layui-nav-tree"  lay-filter="test">
  36.                 <li class="layui-nav-item leftdaohang" data-url="jiaose.html" mytitle="角色管理"><a>角色管理</a></li>
  37.                 <li class="layui-nav-item leftdaohang" data-url="zhanghao.html" mytitle="账号管理"><a>账号管理</a></li>
  38.               </ul>
  39.             </div>
  40.           </div>
  41.           <!--3.右侧主体内容区-->
  42.           <div class="layui-body">
  43.               <!--tabs标签-->
  44.               <div class="layui-tab layui-tab-card" lay-filter="demo" lay-allowclose="true">
  45.               <ul class="layui-tab-title">
  46.              <!--   <li class="layui-this">角色管理</li>-->
  47.               </ul>
  48.               <div class="layui-tab-content" style="height: 150px;">
  49.                 <!--<div class="layui-tab-item layui-show">
  50.                   1. 我个人比较喜欢卡片风格的,所以你发现又是以卡片的风格举例
  51.                   2. 删除功能适用于所有风格
  52.                 </div>-->
  53.                 <!--<div class="layui-tab-item">
  54.                     <iframe  style="width: 100%;height: 100%;" scrolling="no" src="jiaose.html" ></iframe>
  55.                 </div>-->
  56.               </div>
  57.             </div>
  58.           </div>

  59.            <!--4.底部固定区域-->
  60.           <div class="layui-footer">
  61.             <!-- 底部固定区域 -->
  62.             © layui.com - 底部固定区域
  63.           </div>
  64.         </div>
  65.         <script src="../layui/layui.all.js"></script>
  66.         <script>
  67.             layui.use('element', function(){
  68.               var $ = layui.jquery
  69.               ,element = layui.element; //Tab的切换功能,切换事件监听等,需要依赖element模块
  70.               
  71.               //触发事件
  72.               var active = {
  73.                 tabAdd: function(){
  74.                   //新增一个Tab项
  75.                   var htmlurl=$(this).attr('data-url');
  76.                   var mytitle=$(this).attr('mytitle');
  77. //                  alert("触发tab增加事件:"+mytitle);
  78.                   //先判断是否已经有了tab
  79.                   var arrayObj = new Array(); //创建一个数组  
  80.                       $(".layui-tab-title").find('li').each(function() {
  81.                           var y = $(this).attr("lay-id");
  82.                           arrayObj.push(y);
  83.                    });
  84. //                    alert("遍历取到的数组:"+arrayObj);
  85.                     var have=$.inArray(mytitle, arrayObj);  //返回 3,
  86.                     if (have>=0) {
  87.                         //tab已有标签
  88. //                        alert("遍历的已有标签:"+mytitle);
  89.                       element.tabChange('demo', mytitle); //切换到当前点击的页面
  90.                     } else{
  91.                       //没有相同tab
  92. //                      alert("遍历的没有相同tab:"+mytitle);
  93.                       element.tabAdd('demo', {
  94.                         title:mytitle //用于演示
  95.                         ,content: '<iframe style="width: 100%;height: 100%;" scrolling="no" src='+htmlurl+' ></iframe>'
  96.                         ,id: mytitle //实际使用一般是规定好的id,这里以时间戳模拟下
  97.                       })
  98.                       element.tabChange('demo', mytitle); //切换到当前点击的页面
  99.                     }
  100.                 }
  101.                
  102.               };
  103.               $(".leftdaohang").click(function(){
  104.                 var type="tabAdd";
  105.                 var othis = $(this);
  106. //                var htmlurl=$(this).attr('data-url');
  107. //                var mytitle=$(this).attr('mytitle');
  108.                 active[type] ? active[type].call(this, othis) : '';
  109.               });
  110.               
  111.             });
  112.         </script>
  113.         <!--<script>
  114.             var loginurl="http://localhost:8088/user/showUser";
  115.             var mytoken=sessionStorage.getItem("gltoken");
  116.             console.log("缓存的token:"+mytoken);
  117.             netWorking();
  118.             $(".leftdaohang").click(function(){
  119.                 var htmlurl=$(this).attr('data-url');
  120.                 var mytitle=$(this).attr('mytitle');
  121.                 addTab(mytitle);
  122.                 document.getElementById("myiframe").src=htmlurl;
  123.             });
  124.             function addTab (tabname) {
  125.                  $(".layui-tab-title li").removeClass("layui-this");
  126.                 $('.layui-tab-title').append("<li>"+tabname+"</li>");
  127.                   //触发事件               
  128.             }
  129.             function netWorking () {
  130.                     $.ajax({
  131.                         type:"post",   
  132.                         url:loginurl,   
  133.                         data:{
  134.                              token:mytoken
  135.                         },
  136.                         success: function(res) {
  137.                            console.log("home请求数据1.:"+res);
  138.                               var datas=JSON.parse(res);
  139.                         },
  140.                         error:function() {
  141.                             alert("失败");
  142.                        }
  143.                     });        
  144.             }
  145.         </script>-->
  146.     </body>
  147. </html>
复制代码
2.两个切换界面(jiaose.html,zhanghao.html):
jiaose.html


  1. iaose.html

  2. <!DOCTYPE html>
  3. <html>
  4.     <head>
  5.         <meta charset="UTF-8">
  6.         <title>角色管理</title>
  7.     </head>
  8.     <body style="margin: 500px;text-align: center;background: burlywood;">
  9.         <h1>角色管理</h1>
  10.     </body>
  11. </html>
复制代码

  1. <!DOCTYPE html>
  2. <html>
  3.     <head>
  4.         <meta charset="UTF-8">
  5.         <title>账号管理</title>
  6.     </head>
  7.     <body style="margin: 100px;">
  8.         <h1>账号管理</h1>
  9.     </body>
  10. </html>
复制代码




快速回复 返回顶部 返回列表