Layui之选项卡案例 详细易懂

简介: Layui之选项卡案例 详细易懂

本期精彩:利用Layui框架实现动态选项卡

⭐ 继上一篇已经实现了左边的树形菜单栏,这一关卡我们已通过,接下来就是实现右边的动态选项卡的关卡,上个关卡的效果及链接

⭐ 链接:http://t.csdn.cn/tYccL

一.步骤

在开始编写之前我们来理清思路,到底该怎么去做??

1.我们是借助于Layui框架进行编写,首先去看看里面有没有这个模块,当然里面是有的哈哈哈

2.接着我们把layui的模板复制过来

3.给二级菜单设置点击事件,使之右边点击能够新增选项卡

4.将二级菜单的名称设置到选项卡上

5.去除重复项,因为点击一下就会新增一个页面

6.当点击已经存在的选项卡的时候,不再新增而是选中,这样就完成我们的选项卡功能啦~

二.思路编写

       2.1 复制Layui选项卡

2.2.新增选项卡

其实这个Layui里面也是给了的,我们只要复制即可

这一步写完之后的效果:

三.代码编写

我采用的是代码分离,下面是js代码

var element,layer,util,$;
layui.use(['element', 'layer', 'util'], function(){
 element = layui.element ,
  layer = layui.layer,
  util = layui.util,
  $ = layui.$;
  $.ajax({
    url:"permission.action?methodName=menus",
    dataType:"json",
    success:function(data){
      console.log(data)
    //定义一个字符串进行拼接
    var htmlStr="";
    //遍历数据
    $.each(data,function(i,n){
      //拼接
      htmlStr+='<li class="layui-nav-item layui-nav-itemed">';
      htmlStr+='<a class="" href="javascript:;">'+n.text+'</a>';
      //如果其存在孩子,就在进行循环
       if(n.hasChildren){
        var children =n.children;
        //因为这个只需要循环一次,所以放在循环外面
        htmlStr+='<dl class="layui-nav-child">';
        $.each(children,function(index,node){
          //这个需要循环多次
          htmlStr+='<dd><a href="javascript:;" onclick="Addtab(\''+node.text+'\',\''+node.attributes.self.url+'\',\''+node.id+'\')">'+node.text+'</a></dd>';
        })
        htmlStr+='</dl>';
      } 
      htmlStr+='</li>';
    })
      $("#menu").html(htmlStr);
    //渲染
    element.render('menu'); 
    }
  });
  });
 /* 选项卡 */
    /*   1.将其从layui文档中复制一份 
       2.新增选项卡,设置点击事件
       3.将菜单栏的名字复制给选项卡
       4.去除重复项目
       5.如果点击的选项卡已经存在就选中而不是打开一个新的
 */
 function Addtab(title,content,id){
   /*  alert(12) */
   var $node =$('li[lay-id="'+id+'"]');
   //console.log($node);
   //如果选项卡不存在则打开新的选项卡
   if($node.length == 0){
     element.tabAdd('demo', {
           title: title
           ,content: "<iframe frameborder='0' src='"+content+"' scrolling='auto' style='width:100%;height:100%;'></iframe>"
           ,id: id 
         }) 
   }
   //如果已经存在则选中它
     element.tabChange('demo', id); //切换到:用户管理
 }

3.1 解析js代码

四.效果图

 

就这样就完成啦~这个关卡完美通过!!但我们也不要懈怠,继续闯关吧~

相关文章
|
2月前
|
前端开发
Boostrap技能点整理之【按钮样式】
Boostrap技能点整理之【按钮样式】
|
6天前
|
前端开发 程序员 UED
全面解析layui:掌握基础知识与实用技能(1. 核心组件与模块 2. 布局与容器 3. 弹出层与提示框;1. 数据表格与数据表单 2. 表单验证与提交 3. 图片轮播与导航菜单)
全面解析layui:掌握基础知识与实用技能(1. 核心组件与模块 2. 布局与容器 3. 弹出层与提示框;1. 数据表格与数据表单 2. 表单验证与提交 3. 图片轮播与导航菜单)
13 0
|
7天前
|
前端开发 JavaScript 数据可视化
详尽分享表格的编辑插件editable.js
详尽分享表格的编辑插件editable.js
13 0
|
10月前
|
存储 前端开发 数据挖掘
前端框架Layui实现动态表格效果用户管理实例(对表格进行CRUD操作-附源码)(一)
前端框架Layui实现动态表格效果用户管理实例(对表格进行CRUD操作-附源码)
134 0
|
10月前
|
开发框架 前端开发 JavaScript
前端框架Layui的使用讲解(Layui搭建登录注册页面)(一)
前端框架Layui的使用讲解(Layui搭建登录注册页面)
514 0
|
2月前
|
JSON JavaScript 前端开发
原生js做树形菜单(详细注释+加简易版)
原生js做树形菜单(详细注释+加简易版)
37 0
|
8月前
|
JSON Java 数据格式
LayUI之树形菜单的实现(详细描述附带项目案例)
LayUI之树形菜单的实现(详细描述附带项目案例)
67 0
LayUI之树形菜单的实现(详细描述附带项目案例)
|
8月前
|
JavaScript 前端开发 Java
LayUI框架——选项卡
LayUI框架——选项卡
41 0
|
8月前
EasyUI图标对照
EasyUI图标对照
138 0
|
9月前
|
前端开发
layui选项卡演示
layui选项卡演示
36 0

热门文章

最新文章