layui动态添加选项卡

<!DOCTYPE html><html xmlns:th="http://www.thymeleaf.org"><head>    <meta charset="utf-8">    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">    <title>基本信息</title>    <link rel="stylesheet" href="/css/layui.css"></head><body class="layui-layout-body"><div class="layui-layout layui-layout-admin">    <div class="layui-side layui-bg-black" style="top:0px;background-color: #33b7b1!important;">        <div class="layui-side-scroll">            <!-- 左侧导航区域(可配合layui已有的垂直导航) --> <ul class="layui-nav layui-nav-tree" style="background-color: #33b7b1!important;color: white;">                <li class="layui-nav-item">                    <a data-url="/information/getCarInformation" data-id="carInformation" data-title="车辆信息" class="site-demo-active"  href="javascript:;" data-type="tabAdd">车辆信息</a>                </li>                <li class="layui-nav-item">                    <a data-url="/information/getUserInformation" data-id="userInformation" data-title="用户信息" class="site-demo-active"  href="javascript:;" data-type="tabAdd">用户信息</a>                </li>                <li class="layui-nav-item">                    <a data-url="/information/getRoleInformation" data-id="roleInformation" data-title="角色信息" class="site-demo-active"  href="javascript:;" data-type="tabAdd">角色信息</a>                </li>                <li class="layui-nav-item">                    <a data-url="/news_list" data-id="3" data-title="新闻列表" class="site-demo-active"  href="javascript:;" data-type="tabAdd">新闻列表</a>                </li>                <li class="layui-nav-item">                    <a data-url="/news_list" data-id="3" data-title="新闻列表" class="site-demo-active"  href="javascript:;" data-type="tabAdd">新闻列表</a>                </li>            </ul>        </div>    </div>

<div class="layui-body" style="top:0px">        <!-- 内容主体区域 --> <div class="layui-tab layui-tab-card" lay-filter="demo" lay-allowclose="true">            <ul class="layui-tab-title">                <li class="layui-this" lay-id="carInformation">车辆信息</li>            </ul>            <div class="layui-tab-content">                <div class="layui-tab-item layui-show">                    <iframe src="/information/getCarInformation" scrolling="no" frameborder="0"  ></iframe>                </div>            </div>        </div>    </div>

<div class="layui-footer">        <!-- 底部固定区域 --> ? layui.com - 底部固定区域    </div></div><script src="/js/layui.js"></script><script>    //JavaScript代码区域 layui.use(‘element‘, function(){        var element = layui.element;        var $ = layui.jquery;        //触发事件 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="no" frameborder="0" src="‘+url+‘" style="width:100%;"></iframe>‘,                    id: id //规定好的id })                element.render(‘tab‘);

},            tabChange: function(id) {                //切换到指定Tab项 element.tabChange(‘demo‘, id); //根据传入的id传入到指定的tab项 },            tabDelete: function (id) {                element.tabDelete("demo", id);//删除 }            , tabDeleteAll: function (ids) {//删除所有 $.each(ids, function (i,item) {                    element.tabDelete("demo", item); //ids是一个数组,里面存放了多个id,调用tabDelete方法分别删除 })            }        };

//当点击有site-demo-active属性的标签时,即左侧菜单栏中内容 ,触发点击事件 $(‘.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"));        });

});</script></body></html>

原文地址:https://www.cnblogs.com/tflike/p/10282785.html

时间: 2024-10-11 22:10:03

layui动态添加选项卡的相关文章

JAVAEE——BOS物流项目02:学习计划、动态添加选项卡、ztree、项目底层代码构建

1 学习计划 1.jQuery easyUI中动态添加选项卡 2.jquery ztree插件使用 n 下载ztree n 基于标准json数据构造ztree n 基于简单json数据构造ztree(重点) 3.数据库建模工具PowerDesigner使用方式 4.myeclipse翻转引擎插件使用(了解) 5.项目底层代码构建(重点) n 持久层代码抽取 n 表现层代码抽取 6.实现BOS项目登录和注销功能 2 jQuery easyUI中动态添加选项卡 l 用于动态添加一个选项卡 l 选中指

layui动态添加选择卡的方式实现左侧和头部导航栏

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta name="viewport" content="width=device-width, initial-sc

WPF实现选项卡效果(2)——动态添加AvalonDock选项卡

简介 在前面一篇文章里面,我们使用AvalonDock实现了类似于VS的选项卡(或者浏览器的选项卡)效果.但是我们是通过xaml代码实现. 现在我们尝试通过C#代码实现选项卡的动态添加. 修改Xaml代码 在前面一篇文章的Xaml代码里面,添加如下代码: <Grid.RowDefinitions> <RowDefinition Height="25"></RowDefinition> <RowDefinition></RowDefi

android--解决方案--自定义tabhost(动态添加选项+带自动水平滑动选项卡+手势切换选项卡及内容功能)

本文主要解决自定义tabhost的实现,以及集成通过代码动态添加选项卡功能.选项卡水平自动滑动功能.以及通过手势来切换选项卡功能. 下面跟我一起来完成这个完美的解决方案: 1.定义tabwidget选项卡的布局:tab_button.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/r

C#中 选项卡(Tabcontrol)动态添加TabPage(获取或设置当前选项卡及其属性)

新建一个WinForm程序,拖一个TabControl(在tabPages属性里面将默认的两个TabPage删除)和三个Button(增加.删除.修改) public partial class Form1 : Form { private int index = 0; public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { //this.tabControl1

QML TabView动态添加tab和赋初值

通过调用TabView的addTab  动态添加新的选项卡:Tab addTab(string title, Component component),其中title为选项卡标题,component为选项卡内的组件(var component = Qt.createComponent("souces.qml"). 动态添加完成后,返回一个Tab,通过引用Tab的item可以访问component内的方法和属性 动态添加Tab和给Tab内的component赋初值源码: var comp

RecyclerView动态添加、删除及点击事件

上一节讲解了RecyclerView的三种显示方式,本节将主要研究一下RecyclerView的动态添加.删除及其单击和长按事件的处理.我们在上一节代码的基础上进行相关操作. 一.修改适配器类MyAdapter,加入添加和删除这两个方法: public class MyAdapter extends RecyclerView.Adapter<MyAdapter.MyViewHolder> { private Context context; private List<String>

jquey学习2之jquery动态添加页面片段

第一个方法:append()方法 [1]$(selector).append(content)//向匹配的所有标签中的内容末尾处添加Html代码,会编译成页面显示. 1 <html> 2 <head> 3 <script type="text/javascript" src="/jquery/jquery.js"></script> 4 <script type="text/javascript&quo

js实现表格行的动态添加------Day56

现代页面通常都是用div+css来进行设计,几乎很少再有用table来进行布局的了,但是这并不意味着table的重要性就降低了,事实上,table在数据处理上有着它独特的优势,所以对table的掌握还是很有必要的. 我们首先要记录的问题是:js动态的添加表格的行和列 我们先给定一个table,先用html语言编写下: <table width="100%" height="300px" border="1px" id="tad&q