Layui之选项卡案例 详细易懂

2023-11-05

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

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

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

目录

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

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

一.步骤

二.思路编写

        2.1 复制Layui选项卡

       2.2.新增选项卡 

三.代码编写

3.1 解析js代码

四.效果图


一.步骤

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

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代码

四.效果图

 

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Layui之选项卡案例 详细易懂 的相关文章

随机推荐

  • 折半查找

    什么是折半查找 折半查找其实通过字面上的意思就是大致就可以理解为每次查找的时候 选取中间下标的值进行查找 如果找不到 就判断这个要查找的数大于还是小于这个这个中间下标的值 如果大于 就把这个中间值的下标 1给到左边的下标 中间下标 就等于
  • 子域访问计数

    class Solution 利用hash表 对子域名计数 注意对字符串的划分 def subdomainVisits self cpdomains count for domain in cpdomains visits int doma
  • 第十三届蓝桥杯大赛真题PythonB组详解 内含周末献血日记

    前言 今天上午去献血啦 在成都市血液中心 待遇很好 体检通过后先发了一些食物 防止一会饿或者来之前空腹的童鞋 可以看出吃的还是比较不错的 正常的早饭也不会吃那么多 但是泡面的油包不能放 水是甜的加了糖之类的 面包不太好吃 就是纯面包 吃不了
  • 在vue中使用antV-G2展示柱状图

    介绍 G2 是一套基于图形语法理论的可视化底层引擎 以数据驱动 提供图形语法与交互语法 具有高度的易用性和扩展性 使用 G2 你可以无需关注图表各种繁琐的实现细节 一条语句即可使用 Canvas 或 SVG 构建出各种各样的可交互的统计图表
  • overleaf一些技巧(更新中)

    文章目录 前言 格式 技巧 感悟 前言 这种半懂不懂 学不明白的感觉真是太让人着迷了T T 一下来自我在使用overleaf过程中的资料总结 贴出了原地址 找个模板改一改比手撸一篇要快 内容部分来源 LaTeX基本命令使用教程 清晰实例 O
  • javascript之Math

    在javascript中Math是js的内置的对象 其中有很多属性和方法用来操作跟数学相关 属性Math PI Math方法有 Math random 随机数 Math ceil 向上取整 Math floor 向下取整 Math abs
  • 三种排序方法:冒泡排序,选择排序,sort()函数排序

    三种排序方法 冒泡排序 选择排序 sort函数排序 引言 为什么要写呢 因为我怕我忘了 一个寒假过去冒泡排序都不会手写了 其中的冒泡排序和选择排序为C语言实现 而sort函数排序则借助C 实现 并且还可以用sort函数对结构体进行排序 冒泡
  • 一文详细介绍什么是数据标注?

    机器学习和深度学习算法都依赖于数据 为构建可靠的人工智能模型 需要为算法提供结构良好且标注良好的数据 为了让机器学习算法学习如何完成特定任务 我们必须标注它们用于训练的数据 换句话说 标注数据很简单 但并不总是那么容易 幸运的是 我们将通过
  • 第一届世界区块链大会·三点钟峰会(W.B.C)在澳门开幕 万人峰会大咖云集明星嘉年华

    2018年4月23日晚 以 技术重构世界 为主题的第一届世界区块链大会 三点钟峰会 W B C 在中国澳门威尼斯人大酒店隆重开幕 为期三天 大会由世界区块链联合协会首倡 世界区块链大会组委会 三点钟 深创学院主办 深圳大学区块链研究院 银河
  • 解决org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.spring

    从svn上取下来的之前一直在开发的项目 因为项目我是中途接手的 所以同步下来 配置好tomcat 运行的时候报错 Cannot find class com lhzxt dhub MyExceptionHandler for bean wi
  • JavaScript基础(Dom操作)

    目录 一 BOM模型 1 1 BOM可实现功能 二 Window对象的常用属性 2 1 Window对象的常用方法 2 1 1 open 和close 方法 三 History对象 四 Location对象 五 Document对象的常用方
  • tab页过多,展现按钮可左右移动tab页

    1 结果如下图 tab太多 一行放不下 右侧展现左右按钮 鼠标移上tab页可左右移动 2 代码 功能按钮过多时 可左右移动 param id 按钮区域id param dom 按钮元素 param btnclass 按钮样式 param m
  • this指针详解

    什么是this指针 this是指向实例化对象本身时候的一个指针 里面存储的是对象本身的地址 通过该地址可以访问内部的成员函数和成员变量 一个对象的this指针并不是对象本身的一部分 其不会影响sizeof 对象 的结果 this指针的用处
  • 设计一个windows应用程序,定义一个Student类,包含学号和姓名两个字段,并定义一个班级类ClassList

    设计一个windows应用程序 定义一个Student类 包含学号和姓名两个字段 并定义一个班级类ClassList 该类包含一个Student集合 使用索引器访问该集合 1 创建一个Windows应用程序Myproject6 1 2 设计
  • vue自定义$confirm弹窗确认组件

    前言 1 Vue extend 使用基础 Vue 构造器 创建一个 子类 参数是一个包含组件选项的对象 vue单文件经过webpack打包之后是一个组件示例对象 因此可以传到Vue extend中生成一个包含此组件的类 2 new VueC
  • 关闭window10状态栏热点资讯

    前言 最近window10更新了 在桌面右下角的工具栏出现气温的小图标 占用了工具栏位置 挺不爽的 想关闭它 解决 1 在气温图标上 点击鼠标右键 然后选择资讯和兴趣 在弹出的下级菜单中选择 关闭
  • VC++6.0 没用atlstr.h 怎么办

    在VC 6 0中配置WTL9 0 提示没有atlstr h 这个文件 怎么办呢 于是把atlmisc h这个文件 复制一份 把名称改成atlstr h 不就OK了 又可使用CString 这个恶心的东西了 编绎一下试试 提示 error C
  • CSS选择器器练习之餐厅小游戏答案和解析(下)

    17 small last child 伪类选择器 last child选择最后一个子元素 18 plate nth child 3 伪类选择器 nth child 选择第n个子元素 19 bento nth last child 3 伪类
  • linux命令行将已有项目提交到github

    用git是在windows下用git的图形化界面进行操作的 这次有一个写了几天的小项目想提交到git上 linux命令行下面没有图形化的界面 所以全部需要git命令来操作 实践之后 主要是下面几个步骤 1 登陆github 创建一个repo
  • Layui之选项卡案例 详细易懂

    本期精彩 利用Layui框架实现动态选项卡 继上一篇已经实现了左边的树形菜单栏 这一关卡我们已通过 接下来就是实现右边的动态选项卡的关卡 上个关卡的效果及链接 链接 http t csdn cn tYccL 目录 本期精彩 利用Layui框