EasyUI之选项卡Tabs

1.样式


选项卡显示一批面板。但在同一个时间只会显示一个面板。每个选项卡面板都有头标题和一些小的按钮工具菜单,包括关闭按钮和其他自定义按钮。


2.练习1:构建选项卡

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>tabs</title>
<meta http-equiv="content-type" content="text/html;charset=UTF-8">
<!-- 引入css文件 -->
<link rel="stylesheet" href="themes/default/easyui.css" type="text/css"></link>
<link rel="stylesheet" href="themes/icon.css" type="text/css"></link>

<!-- 引入js文件 -->
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/jquery.easyui.min.js"></script>
</head>
<body>
	<div id="tabsID" class="easyui-tabs" style="width:500px;height:250px;"
		data-options="plain:false,fit:false,border:true,tools:[
			{
				iconCls:'icon-add',
				handler:function(){
					alert('添加')
				}
			},
			{
				iconCls:'icon-save',
				handler:function(){
					alert('保存')
				}
			}
		],selected:-1">   
	    <div title="标题1" style="padding:20px;display:none;">   
	        	标题1    
	    </div>   
	    <div title="标题2" data-options="closable:true" style="overflow:auto;padding:20px;display:none;">   
	        	标题2   
	    </div>   
	    <div title="标题3" data-options="iconCls:'icon-reload',closable:true" style="padding:20px;display:none;">   
	        	标题3   
	    </div>   
	</div>  
</body>
</html>
结果:


3.练习2:后台管理系统页面完善

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>layout02</title>
<meta http-equiv="content-type" content="text/html;charset=UTF-8">
<!-- 引入css文件 -->
<link rel="stylesheet" href="themes/default/easyui.css" type="text/css"></link>
<link rel="stylesheet" href="themes/icon.css" type="text/css"></link>

<!-- 引入js文件 -->
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/jquery.easyui.min.js"></script>
</head>
<body class="easyui-layout" id="layoutID" data-options="fit:true">
        <!-- 北边 -->
        <div data-options="region:'north',border:false" style="height:100px;">
            <h1 style="font-size:24px;text-align:center;">物流管理系统</h1>
        </div>
        <!-- 中间 -->
        <div data-options="region:'center'">
            <div class="easyui-layout" data-options="fit:true">
                <!-- 西边 -->
                <div data-options="region:'west'" style="width:206px;border-top:0;">
                    <div id="accordionID" 
                         class="easyui-accordion" 
                         data-options="fit:true,selected:-1" 
                         style="height:300px;">   
                        <div title="订单管理" data-options="iconCls:'icon-save'">   
                                <a id="btn_add" 
                                   href="#" 
                                   class="easyui-linkbutton" 
                                   data-options="iconCls:'icon-add',plain:true"
                                   style="width:200px;outline:none;">新增订单</a> 
                                <a id="btn_remove" 
                                   href="#" 
                                   class="easyui-linkbutton" 
                                   data-options="iconCls:'icon-remove',plain:true"
                                   style="width:200px;outline:none;">删除订单</a>
                                <a id="btn_update" 
                                   href="#" 
                                   class="easyui-linkbutton" 
                                   data-options="iconCls:'icon-edit',plain:true"
                                   style="width:200px;outline:none;">修改订单</a>
                                <a id="btn_search" 
                                   href="#" 
                                   class="easyui-linkbutton" 
                                   data-options="iconCls:'icon-search',plain:true"
                                   style="width:200px;outline:none;">查询订单</a>
                        </div>   
                        <div title="路线管理" data-options="iconCls:'icon-reload'" style="overflow:auto;padding:10px;">   
                                路线管理  
                        </div>   
                        <div title="人员管理" data-options="iconCls:'icon-add'" style="overflow:auto;padding:10px;">   
                                   人员管理  
                        </div> 
                        <div title="车辆管理" data-options="iconCls:'icon-filter'" style="overflow:auto;padding:10px;">   
                                   车辆管理   
                        </div> 
                        <div title="帮助" data-options="iconCls:'icon-help'" style="overflow:auto;padding:10px;">
                                帮助
                        </div> 
                    </div>  
                </div>
                <!-- 中间 -->
                <div data-options="region:'center'" style="border-top:0;">
                    <div id="tabsID" class="easyui-tabs" data-options="plain:true,fit:true,border:false,selected:-1">   
                        
                    </div>  
                </div>
            </div>
        </div>
        <script type="text/javascript">
            $("#btn_add").click(function(){
                //获取点击按钮的标题
                var title =$(this).text();
                //去空格
                title =$.trim(title);
                if("新增订单" == title){
                    var flag =$("#tabsID").tabs("exists",title);
                    if(!flag){
                        $("#tabsID").tabs("add",{
                            "title":title,
                            "closable":true,
                            "iconCls":"icon-add"
                        });
                    }
                }
            });
        </script>
</body>
</html>
结果:

4.文档

属性

属性名属性值类型描述默认值
widthnumber选项卡容器宽度。auto
heightnumber选项卡容器高度。auto
plainboolean设置为true时,将不显示控制面板背景。false
fitboolean设置为true时,选项卡的大小将铺满它所在的容器。false
borderboolean设置为true时,显示选项卡容器边框。true
scrollIncrementnumber选项卡滚动条每次滚动的像素值。100
scrollDurationnumber每次滚动动画持续的时间,单位:毫秒。400
toolsarray,selector工具栏添加在选项卡面板头的左侧或右侧。可用的值有:
1. 一个工具菜单数组,每个工具选项都和linkbutton相同。
2. 一个指向<div/>容器工具菜单的选择器。

代码示例: 

通过数组定义工具菜单。

$('#tt').tabs({
	tools:[{
		iconCls:'icon-add',
		handler:function(){
			alert('添加')
		}
	},{
		iconCls:'icon-save',
		handler:function(){
			alert('保存')
		}
	}]
});

通过存在的DOM容器定义工具菜单。

$('#tt').tabs({
	tools:'#tab-tools'
});
<div id="tab-tools">
	<a href="#" class="easyui-linkbutton" plain="true" iconCls="icon-add"></a>
	<a href="#" class="easyui-linkbutton" plain="true" iconCls="icon-save"></a>
</div>
null
toolPositionstring工具栏位置。可用值:'left','right'。(该属性自1.3.2版开始可用)right
tabPositionstring选项卡位置。可用值:'top','bottom','left','right'。(该属性自1.3.2版开始可用)top
headerWidthnumber选项卡标题宽度,在tabPosition属性设置为'left'或'right'的时候才有效。(该属性自1.3.2版开始可用)150
tabWidthnumber标签条的宽度。(该属性自1.3.4版开始可用)auto
tabHeightnumber标签条的高度。(该属性自1.3.4版开始可用)27
selectednumber初始化选中一个tab页。(该属性自1.3.5版开始可用)0
showHeaderboolean设置为true时,显示tab页标题。(该属性自1.3.5版开始可用)true

 

事件

事件名事件参数描述
onLoadpanel在ajax选项卡面板加载完远程数据的时候触发。
onSelecttitle,index用户在选择一个选项卡面板的时候触发。
onUnselecttitle,index用户在取消选择一个选项卡面板的时候触发。(该属性自1.3.5版开始可用)
onBeforeClosetitle,index在选项卡面板关闭的时候触发,返回false取消关闭操作。下面的例子展示了在关闭选项卡面板之前以何种方式显示确认对话框。
$('#tt').tabs({
  onBeforeClose: function(title){
	return confirm('您确认想要关闭 ' + title);
  }
});
// 使用异步确认对话框
$('#tt').tabs({
  onBeforeClose: function(title,index){
	var target = this;
	$.messager.confirm('确认','你确认想要关闭'+title,function(r){
		if (r){
			var opts = $(target).tabs('options');
			var bc = opts.onBeforeClose;
			opts.onBeforeClose = function(){};  // 允许现在关闭
			$(target).tabs('close',index);
			opts.onBeforeClose = bc;  // 还原事件函数
		}
	});
	return false;	// 阻止关闭
  }
});
onClosetitle,index在用户关闭一个选项卡面板的时候触发。
onAddtitle,index在添加一个新选项卡面板的时候触发。
onUpdatetitle,index在更新一个选项卡面板的时候触发。
onContextMenue, title,index在右键点击一个选项卡面板的时候触发。

 

方法

方法名方法参数描述
optionsnone返回选项卡属性。
tabsnone返回所有选项卡面板。
resizenone调整选项卡容器大小和布局。
addoptions添加一个新选项卡面板,选项参数是一个配置对象,查看选项卡面板属性的更多细节。在添加一个新选项卡面板的时候它将变成可选的。
添加一个非选中状态的选项卡面板时,记得设置'selected'属性为false。
// 添加一个未选中状态的选项卡面板
$('#tt').tabs('add',{
	title: '新选项卡面板',
	selected: false
	//...
});
closewhich关闭一个选项卡面板,'which'参数可以是选项卡面板的标题或者索引,以指定要关闭的面板。
getTabwhich获取指定选项卡面板,'which'参数可以是选项卡面板的标题或者索引。
getTabIndextab获取指定选项卡面板的索引。
getSelectednone获取选择的选项卡面板。下面的例子展示了如何获取选择的选项卡面板索引。
var tab = $('#tt').tabs('getSelected');
var index = $('#tt').tabs('getTabIndex',tab);
alert(index);
selectwhich选择一个选项卡面板,'which'参数可以是选项卡面板的标题或者索引。
unselectwhich取消选择一个选项卡面板,'which'参数可以是选项卡面板的标题或者索引。(该方法自1.3.5版开始可用)
showHeadernone显示选项卡的标签头。(该方法自1.3.5版开始可用)
hideHeadernone隐藏选项卡的标签头。(该方法自1.3.5版开始可用)
existswhich表明指定的面板是否存在,'which'参数可以是选项卡面板的标题或索引。
updateparam更新指定的选项卡面板,'param'参数包含2个属性:
tab:要更新的选项卡面板。
options:面板的属性。

代码示例: 
// 更新选择的面板的新标题和内容
var tab = $('#tt').tabs('getSelected');  // 获取选择的面板
$('#tt').tabs('update', {
	tab: tab,
	options: {
		title: '新标题',
		href: 'get_content.php'  // 新内容的URL
	}
});
// 调用 'refresh' 方法更新选项卡面板的内容
var tab = $('#tt').tabs('getSelected');  // 获取选择的面板
tab.panel('refresh', 'get_content.php');
enableTabwhich启用指定的选项卡面板,'which'参数可以是选项卡面板的标题或索引。(该方法自1.3版开始可用)

代码示例:

$('#tt').tabs('enableTab', 1);            // 启用第二个选项卡面板
$('#tt').tabs('enableTab', 'Tab2');     // 启用标题为Tab2的选项卡面板
disableTabwhich禁用指定的选项卡面板,'which'参数可以是选项卡面板的标题或索引。(该方法自1.3版开始可用)

代码示例:

$('#tt').tabs('disableTab', 1); // 禁用第二个选项卡面板

scrollBydeltaX滚动选项卡标题指定的像素数量,负值则向右滚动,正值则向左滚动。(该方法自1.3版开始可用)

代码示例:

// 滚动选项卡标题到左边
$('#tt').tabs('scroll', 10);

 

选项卡面板

选项卡面板属性与panel组件属性的定义类似,下面是2个组件的一些公共属性。

属性名属性值类型描述默认值
idstring选项卡面板的ID属性。null
titlestring选项卡面板的标题文本。 
contentstring选项卡面板的内容。 
hrefstring从URL加载远程数据内容填充到选项卡面板。null
cacheboolean如果为true,在'href'属性设置了有效值的时候缓存选项卡面板。true
iconClsstring定义了一个图标的CSS类ID显示到选项卡面板标题。null
widthnumber选项卡面板宽度。auto
heightnumber选项卡面板高度。auto
collapsibleboolean如果为true,则允许选项卡摺叠。false

下面的是选项卡面板新增且独有的属性。

属性名属性值类型描述默认值
closableboolean在设置为true的时候,选项卡面板将显示一个关闭按钮,在点击的时候会关闭选项卡面板。false
selectedboolean在设置为true的时候,选项卡面板会被选中。false




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值