easyUI中的tabs组件及关闭选项卡操作

Easyui之Tabs选项卡 Tabs选项卡前言案例演示1、在jsp页面静态获取2、使用js动态地加载出数据3、右击关闭选项卡总结 前言 今天为大家分享的知识点是easyui中的tabs选项卡,想了解的小伙伴们可以看我下面的具体操作! 案例演示 没错,还是按照以往的套路来操作,和之前Tree简介中获取数据一样,基本上获取数据有以下这两种方式: 最终想要实现的效果: 1、当点击书籍管理下的新增时、右边的区域展示一个新增的选项卡,点击下面的未上架、已上架、已下架也是一样! 2、当再次点击书籍管理下的新增时,切换到新增页面的具体内容! 3、当 阅读详情

转载请标明出处:https://blog.youkuaiyun.com/men_ma/article/details/106847165.
本文出自 不怕报错 就怕不报错的小猿猿 的博客

前言

本篇博客的tabs组件离不开前面的树形菜单tree知识点,博主提供tree控件的资源,要完成今天需要实现的目标,必然离不开tree控件和tabs组件(按照先后顺序学习):
链接: easyUI前端框架tree(树)后台实现(树形菜单一)——java.
easyUI前端框架的tree(树)前台展示(树形菜单二)——java.

如何自学easyUI中的控件?

在这里插入图片描述

需要实现的目标

tabs选项卡的切换:
在这里插入图片描述
关闭选项卡的操作(关闭全部、关闭其他选项卡、关闭右侧选项卡、关闭左侧选项卡):、

在这里插入图片描述

实现tabs组件的思路步骤

在这里插入图片描述

代码实现最终效果

index.jsp:主界面的展示

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>登录后的主界面</title>
<!--导入css  -->
<!--全局样式  -->
<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath }/static/js/jquery-easyui-1.5.1/themes/default/easyui.css">   
<!--定义图标  -->
<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath }/static/js/jquery-easyui-1.5.1/themes/icon.css">   

<!--导入js  -->
<script type="text/javascript" src="${pageContext.request.contextPath }/static/js/jquery-easyui-1.5.1/jquery.min.js"></script>   
<!--组件库源码的js文件  -->
<script type="text/javascript" src="${pageContext.request.contextPath }/static/js/jquery-easyui-1.5.1/jquery.easyui.min.js"></script>  
<script type="text/javascript" src="${pageContext.request.contextPath }/static/js/index1.js"></script>  
</head>
<!--隐藏域:项目名  -->
<input type="hidden" id="ctx" value="${pageContext.request.contextPath }"> 
<body class="easyui-layout">
	<div data-options="region:'north',border:false" style="height:60px;background:#B3DFDA;padding:10px">美食网站管理系统</div>
	<div data-options="region:'west',split:true,title:'West'" style="width:150px;padding:10px;">
		 <ul id="tt"></ul> 
	</div>
	<div data-options="region:'east',split:true,collapsed:true,title:'East'" style="width:100px;padding:10px;">east region</div>
	<div data-options="region:'south',border:false" style="height:50px;background:#A9FACD;padding:10px;">south region</div>
	<div data-options="region:'center',title:'Center'">
		<div id="bookTabs" class="easyui-tabs" style="width:100%;height:100%">
	   			 <div title="首页" style="padding:20px;display:none;"> 本站各种数据指标(各个模块的使用情况,数据量、报表)</div>   
		   			  <a href="javascript:void(0)" id="mb" class="easyui-menubutton"     
		        	data-options="menu:'#mm',iconCls:'icon-edit'">关闭选项卡操作</a>
		</div>
				<div id="mm" class="easyui-menu" style="width:150px;align:right">   
				    <div name="tab_menu-tabcloseall" id="closeAll" data-options="iconCls:'icon-cancel'">关闭全部选项卡</div>
			        <div name="tab_menu-tabcloseother" id="closeOthor" data-options="iconCls:'icon-clear'">关闭其他选项卡</div>
			        <div class="menu-sep"></div>
			        <div name="tab_menu-tabcloseright" id="closeRight" data-options="iconCls:'icon-redo'">关闭右侧选项卡</div>
			        <div name="tab_menu-tabcloseleft" id="closeLeft" data-options="iconCls:'icon-undo'">关闭左侧选项卡</div>
				</div> 
	</div>  
	</div>
</body>
</html>

index.js:使用JavaScript加载数据

$(function() {
	var ctx=$("#ctx").val();
	$('#tt').tree({    
	    url:ctx+'/menu.action?methodName=menuTree' ,
	    onClick: function(node){//node指的是json对象
//			alert(node.text);  // 在用户点击的时候提示
//	    	如何调试(debug)js代码
//	    	debugger;
//	    	目前存在的问题,重复的tab页反复打开
//	    	针对于上面存在的问题进行分析,判断当前是否存在对应的title的选项卡
//	    	如果存在,就切换到对应的选项卡,如果不存在,那么重新打开一个选项卡
//	    	 <iframe scrolling="no" frameborder="0" src="" width="99%" height="99%"></iframe>
//	    	console.log($('#bookTabs').tabs('exists',node.text));
	    	if($('#bookTabs').tabs('exists',node.text)){
//	    		切换选项卡
	    		$('#bookTabs').tabs('select',node.text);
	    	}else{
//	    		新增选项卡
//	    		存在问题,非叶子节点(例如树叶子来理解)按照开发角度来说是不能够打开页面的
//	    		分析:非叶子节点都没有跳转页面的
	    		var src=node.attributes.self.menuURL;
//	    		alert(ctx+src);
	    		if(src){
		    		var content=' <iframe scrolling="no" frameborder="0" src="'+ctx+src+'" width="99%" height="99%"></iframe>';
			    	$('#bookTabs').tabs('add',{    
			    	    title:node.text,    
			    	    content:content,    
			    	    closable:true,    
			    	    tools:[{    
			    	        iconCls:'icon-mini-refresh',    
			    	        handler:function(){    
			    	            alert('refresh');    
			    	        }    
			    	    }]    
			    	});  
	    		}
	    	}
		}
	});
	$('#mm').menu({
        "onClick":function(item) {
            closeTab(item.id,item.text);
        }
    });

//=======================================================
	   //关闭选项卡功能    注意:还需要上面的 .tabs和.menu右击触发事件显示菜单功能哦
    function closeTab(title, text) {
        if(text == '关闭全部选项卡') {
//        	alert(text);
            $(".tabs li").each(function(index, obj) {
                //获取所有可关闭的选项卡
                var tabTitle = $(".tabs-closable", this).text();
                $("#bookTabs").tabs("close", tabTitle);
            });
        }
        if(text == '关闭其他选项卡') {
        /*	alert(text);
            $(".tabs li").each(function(index, obj) {
                //获取所有可关闭的选项卡
                var tabTitle = $(".tabs-closable", this).text();
                if(tabTitle != title) {
                    $("#bookTabs").tabs("close", tabTitle);
                }
            });*/
        	var tablist = $('#bookTabs').tabs('tabs');  
            var tab = $('#bookTabs').tabs('getSelected');  
            var index = $('#bookTabs').tabs('getTabIndex',tab);  
            for(var i=tablist.length-1;i>index;i--){  
                $('#bookTabs').tabs('close',i);  
            }  
            var num = index-1;  
            if(num < 1){  
                return;  
            }else{  
                for(var i=num;i>=1;i--){  
                    $('#bookTabs').tabs('close',i);  
                }  
                $("#bookTabs").tabs("select", 1);  
            }  
        }
        if(text == '关闭右侧选项卡') {
//        	alert(11);
        	 var tablist = $('#bookTabs').tabs('tabs');  
	            var tab = $('#bookTabs').tabs('getSelected');  
	            var index = $('#bookTabs').tabs('getTabIndex',tab);  
	            for(var i=tablist.length-1;i>index;i--){  
	                $('#bookTabs').tabs('close',i);  
	            }  
        }
        if(text == '关闭左侧选项卡') {
        	 var tablist = $('#bookTabs').tabs('tabs');  
	            var tab = $('#bookTabs').tabs('getSelected');  
	            var index = $('#bookTabs').tabs('getTabIndex',tab);  
	            var num = index-1;  
	            if(num < 1){  
	                return;  
	            }else{  
	                for(var i=num;i>=1;i--){  
	                    $('#bookTabs').tabs('close',i);  
	                }  
	                $("#bookTabs").tabs("select", 1);  
	            }  
        }
    }
})

easyUI中tabs组件的其他属性及事件和方法

属性:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
事件:
在这里插入图片描述
方法:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

选项卡面板

在这里插入图片描述

尾言

今天的tabs组件的知识就分享到这里啦!! 有问题或不懂的朋友们,欢迎大家在下评论!!谢谢!!

多传感器融合SLAM指南:如何结合视觉与激光雷达提升建图精度 本文深入探讨了多传感器融合SLAM技术,详细解析了如何将视觉传感器与激光雷达(特别是3D激光雷达)进行深度融合以提升建图精度与鲁棒性。文章从传感器特性分析、数据同步标定、前端融合策略(松耦合与紧耦合)到后端优化与地图构建,提供了完整的实战指南,并重点介绍了V-LOAM等经典融合框架的核心思想,旨在帮助开发者构建适应复杂动态环境的高精度SLAM系统。 阅读详情

相关推荐

Windows 10 本地开发环境:用 ShardingSphere-Proxy 5.4.1 快速搭建 MySQL 分库分表测试环境

本文详细介绍了在Windows 10系统中使用ShardingSphere-Proxy 5.4.1快速搭建MySQL分库分表测试环境的完整教程。从环境准备、MySQL配置到ShardingSphere-Proxy的核心设置,逐步指导开发者完成本地开发环境的搭建,并提供了分片策略详解和常见问题排查方法,帮助开发者高效验证分库分表功能。

weixin_28366053的博客 214

EasyUi之Tabs(选项卡)以及关闭选项卡

添加EasyUi的Tabs选项卡,实现各个菜单互选比照。

u012949335的专栏 1409

DEMATEL-ISM模型的Python实现——方法介绍以及代码复现

本文参考文献与网络资料,对DEMATEL-ISM方法做了介绍何步骤描述,并给出Python代码进行了计算和绘图。

cros1的博客 2万+

关闭tabControl里面当前选择的tabpage

tabControl1.SelectedTab.Parent = null;

chaojiaini的专栏 1253

手把手教你用Switched-Capacitor Converter实现高效DC-DC转换(附常见拓扑对比)

本文详细介绍了开关电容转换器(SC)在高效DC-DC电源设计中的应用,对比了四种常见拓扑结构的优缺点,并提供了损耗分析与效率优化的实战技巧。通过无电感设计,SC转换器在5G模块和可穿戴设备中展现出超高功率密度和微小体积的优势,是电源管理领域的革命性技术。

weixin_30790841的博客 272

保姆级教程:用NFS把群晖NAS的文件夹挂到Ubuntu 22.04上,实现文件无缝共享

本文提供了一份详细的教程,指导用户如何通过NFS协议将群晖NAS的文件夹挂载到Ubuntu 22.04系统上,实现文件的无缝共享。文章对比了NFS与SMB协议的性能差异,并提供了群晖端和Ubuntu端的配置指南、高级参数优化、自动挂载方案以及生产环境中的实战技巧,帮助用户提升文件共享效率和系统稳定性。

weixin_29213827的博客 405

jQuery-easyui实现关闭全部tabs

有时候当我们打开很多tabs选项卡时,要关闭它只能一个一个的进行关闭,显然太麻烦,这时可以在选项卡的最右边添加一个按钮 实现关闭全部。 function openTab(text, url, iconCls) { if ($("#tabs").tabs("exists", text)) { $("#tabs").tabs(...

weixin_30757793的博客 291

【ARM Trace32(劳特巴赫) 使用介绍 1.3 - ARM 系统调试中常见的挑战】

每一个独立的gust os或者一个OS 内部里面美格独立的进程它使用虚拟地址是可能是重叠的,比如linux中每个用户进程它的运行地址(虚拟地址)都是0x0,这时如果想去同时调试所有进程,那么必须要有个办法把这些进程区分开来,trace32 就在虚拟地址前面加前缀的方法,这个前缀称为space id, 这个space id 实际上就是processor id或者是task id, 这样就可以把一个os内部的不同的进程区分开来。如果工具和内核中的连接是可以建立起来的,那么接下来就是调试工具使用的问题了。

CodingCos的博客 1961

easyui的tabs控件

easyui的tabs控件前言一、先去看看前期做的前台和后台吧二、了解什么是tabs控件三、tabs属性的使用四、tabs事件的使用五、tabs方法的使用六、实现tabs的步骤1、我们先建两个jsp备用2、使用easyui中的模板tabs控件3、在index.js中再次使用tabs控件中的模板,进行修改 前言 因为前面做了easyui的前端和后端做铺垫,所以今天还是搞前端要实现的tabs控件 一、先去看看前期做的前台和后台吧 https://blog.youkuaiyun.com/qq_46964039/article

小七 1347

5G RF前端架构为什么越来越复杂?从8天线、MIMO、ET、DRX到ACLR/EVM彻底拆开

AdjacentChannelLeakageRatioAdjacentChannelLeakageRatio主信道的功率,有多少泄漏到了隔壁Channel。ACLRPAdjacentPMainACLR=ACLRPMain​PAdjacent​​通常以dBc表达。

weixin_43199439的博客 45

DSP2837X CLA开发实战教程

摘要: 本文详细解析TI C2000 DSP中CLA协处理器的开发流程,以TMS320F28377D的cla_divide案例为例,展示浮点除法验证的实现方法。从基础配置(消息RAM管理、任务触发)到高级调试(ePWM计时、断点设置),涵盖全流程开发要点。重点分析CLA编程约束(禁用标准库、数学优化)、多任务调度及常见问题解决方案(如死锁、数据同步)。提供FPGA协同加速、电机控制等扩展方向,并推荐官方例程与硬件平台(如创龙TL2837xF-EVM)。开发时需注意.cla文件语法支持及调试技巧,以充分发挥C

6760

c#中给tabpage增加关闭按钮

先来看下效果 要实现这个功能,我们分两步来走,首先是需要绘制这个按钮,然后再对这个按钮的事件作出响应 1、将tabcontrol的绘制模式属性修改为OwnerDrawFixed,这样我们才能对DrawItem事件进行重写 DrawItem绘制标题前将我们需要的按钮绘制上去,代码如下             e.Graphics.DrawString("x", e.Font,

u013944260的专栏 1万+

《YOLO26/YOLO11/YOLOv8改进与系统实战》,改进与系统实战专栏目录和介绍

YOLOv8 是目前比较火和比较成熟的深度学习框架,是2023年1月发布的,由 Ultralytics 团队开发。Ultralytics自YOLOv5 开始一直积极维护和更新 YOLO 框架,因此 YOLOv8 也享有持续的维护与升级支持。因此我写下《手把手教你YOLOv8实战》专栏,专门为那些对计算机视觉、深度学习、以及目标检测技术感兴趣的读者设计。通过本专栏,你将深入理解 YOLOv8 的核心原理与实际应用,从0 开始学习并掌握如何使用 YOLOv8 完成各类目标检测任务,帮助你快速上手并掌握 YOLO

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 1万+

EasyUI之tabs组件、右键关闭tabs

目录tabs组件的实现右键关闭tabs功能datagrid组件实现 tabs组件的实现 之前分享了Tree组件的实现,那么单纯的Tree结构在点击时,侧面都会展示相关Tree节点下的数据页面,今天就为大家介绍一下它是怎么实现的 实现步骤: HTML页码代码 <div id="tabsTree" class="easyui-tabs" style="width:100%;height:100%;"> <div title="Tab1" style="padding:20p

Dawn.x的博客 732

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

jQuery EasyUI API 中文文档 - Tabs标签页/选项卡

jQuery EasyUI API 中文文档 - 标签页/选项卡(Tabs),学习jQuery EasyUI的朋友可以参考下。                                               Tabs 标签页/选项卡  用$.fn.tabs.defaults重写defaults。 依赖  panel  linkbutton  用法示例  创建tab

三味线的铲屎官的博客 435

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

easyUI选项卡—右键关闭tabs

今天在改一个easyUI界面时,有个这样的需求,要我通过在选项卡上绑定一个右击事件,做到tabs全部关闭,或关闭左右变的。因为自己对easyUI不是很熟,导致搞这个功能花了比较长的事件,现在把代码贴出来,希望跟我遇到一样问题的伙伴能够少走的弯路; 右击事件中弹出的HTMl内容 关闭全部 关闭其他 当前页右侧全部关闭 当前页左侧全部关闭

迷默的博客 5424

easyui打开新的选项卡_jQuery EasyUI 教程-Tabs(选项卡)

使用$.fn.tabs.defaults重写默认值对象。选项卡显示一批面板。但在同一个时间只会显示一个面板。每个选项卡面板都有头标题和一些小的按钮工具菜单,包括关闭按钮和其他自定义按钮。使用案例:创建面板通过标签和Javascript两种方法来创建选项卡。1、 通过标签创建选项卡通过标签可以更容易的创建选项卡,我们不需要写任何Javascript代码。只需要给tab1tab2tab32、通过Jav...

weixin_39574140的博客 567

jQuery EasyUI API 中文文档 - 标签页/选项卡(Tabs)

Tabs 标签页/选项卡 用$.fn.tabs.defaults重写defaults。依赖panellinkbutton用法示例创建tabs1. 经由标记创建Tabs从标记创建Tabs更容易,我们不需要写任何JavaScript代码。记住把 'easyui-tabs' 类添加到<div/>标记,每个tab panel 经由子<div/>标记被创建,其用法...

weixin_30418341的博客 79

tab选项卡实现

tab选项卡实现前言:效果图:代码右键点击关闭选项卡 前言: 选项卡的实现基于前面tree组件的实现,链接如下 [tree组件实现](https://blog.youkuaiyun.com/qq_46705598/article/details/106912698) [tree组件的后端](https://blog.youkuaiyun.com/qq_46705598/article/details/106891364) 效果图: 代码 界面代码,默认设置一个首页的tab页: <div id="booktabs" cla

qq_46705598的博客 606

easyui_02(tree前端工作)

一、思维导图: 二、tree控件的使用: 1、树控件也可以定义在一个空<ul>元素中并使用Javascript加载数据 2、每个节点都具备以下属性: id:节点ID,对加载远程数据很重要。 text:显示节点文本。 state:节点状态,'open'或 'closed',默认:'open'。如果为'closed'的时候,将不自动展开该节点。 checked:表示该节点是否被选中。 attributes: 被添加到节点的自定义属性。 .

qq_65716482的博客 680

easyUI快速入门第四讲——easyUI中的tabs(选项卡)组件

tabs(选项卡)组件的概述 选项卡会显示一批面板,但在同一个时间只会显示一个面板。每个选项卡面板都有头标题和一些小的按钮工具菜单,包括关闭按钮和其他自定义按钮。 tabs(选项卡)组件的使用 首先,在所在项目的WebContent目录下新建一个04-tabs目录,并在该目录下新建一个04-tabs.html页面。 <!DOCTYPE html> <html> <h...

李阿昀的博客 3018

EasyUi之Tabs(选项卡)

Tabs控件什么是TabsTabs的使用案例Tabs的属性Tabs的事件Tabs的方法Tabs面板创建一个选项卡右键关闭tabs 什么是Tabs 选项卡是最流行的导航模式之一(与菜单栏和垂直导航一样)。 选项卡最大的优点是用户很熟悉,而且经常是持久的内容,所以即使用户在网站或应用程序中跳出刚浏览过的内容,他们也不会迷失。 官方示例 成品示例 Tabs的使用案例 通过标签创建选项卡 通过标签可以更容易的创建选项卡,我们不需要写任何Javascript代码。只需要给标签添加一个类ID’easyui-ta

Lzxccas的博客 2445

easyui-tabs组件

文章目录前言Tabs(选项卡)tabs组件效果图实现代码关闭选项卡总结 前言 Tree组件实现树形菜单 https://blog.youkuaiyun.com/licmi/article/details/106897820. 上篇博客做的是一个树形菜单选项卡,今天来完善一下。 首先分析需求:浏览器请求index.jsp,看到首页一个选项卡,当点击某个树形菜单再新增tab页,以及右键关闭当前页或者关闭所有页 Tabs(选项卡) 我们来看EasyUI库里的方法有哪些 事件 tabs组件 效果图 我们也结果

licmi的博客 997

easyui_tabs组件以及菜单关闭

easyui_tabs组件以及菜单关闭tabs组件静态数据的使用方法代码效果js创建的使用方法代码效果tabs的动态使用举例代码效果tabs的菜单关闭代码效果总结 tabs组件 选项卡显示一批面板。但在同一个时间只会显示一个面板 tabs的属性: tabs的事件: tabs的方法: 使用有两种方法: 静态数据的使用方法 通过标签创建选项卡 通过标签可以更容易的创建选项卡,我们不需要写任何Javascript代码。只需要给标签添加一个类ID 'easyui-tabs’。每个选项卡面板都通过子标签进行

m0_46699799的博客 771

easyui tabs选项卡,事件触发关闭某一个tab

<!--tabs选项卡 --> <div id="tt" class="easyui-tabs" style="width:500px;height:250px;"> <div title="Tab1" style="padding:20px;display:none;"> tab1 </div> <div tit...

weixin_42454941的博客 2675

四、easyUI中的tabs(选项卡)组件

四、easyUI中的tabs(选项卡)组件

weixin_44230693的博客 1529
上一篇: easyUI前端框架的tree(树)前台展示(树形菜单二)——java
下一篇: eclipse中如何查看jar包及框架包的底层源码(jd-gui)?
不怕报错 就怕不报错的小猿猿
博客等级 码龄7年 163粉丝 135原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值