jQuery EasyUI 布局插件 – Tabs 標(biāo)簽頁(yè)/選項(xiàng)卡

2018-09-05 02:14 更新

jQuery EasyUI 布局插件 - Tabs 標(biāo)簽頁(yè)/選項(xiàng)卡


jQuery EasyUI 插件 jQuery EasyUI 插件

通過(guò) $.fn.tabs.defaults 重寫默認(rèn)的 defaults。

The tabs display a collection of panel. It shows only one tab panel at a time. Each tab panel has the header title and some mini button tools, including close button and other customized buttons.

依賴

  • panel
  • linkbutton

用法

創(chuàng)建標(biāo)簽頁(yè)(Tabs)

1、通過(guò)標(biāo)記創(chuàng)建標(biāo)簽頁(yè)(Tabs)

從標(biāo)記創(chuàng)建標(biāo)簽頁(yè)(Tabs)更容易,我們不需要寫任何 JavaScript 代碼。記住把 'easyui-tabs' class 添加到 <div> 標(biāo)記。每個(gè)標(biāo)簽頁(yè)面板(tab panel)通過(guò)子 <div> 標(biāo)記被創(chuàng)建,其用法與面板(panel)一樣。

<div id="tt" class="easyui-tabs" style="width:500px;height:250px;">
    <div title="Tab1" style="padding:20px;display:none;">
		tab1
    </div>
    <div title="Tab2" data-options="closable:true" style="overflow:auto;padding:20px;display:none;">
		tab2
    </div>
    <div title="Tab3" data-options="iconCls:'icon-reload',closable:true" style="padding:20px;display:none;">
		tab3
    </div>
</div>

2、編程創(chuàng)建標(biāo)簽頁(yè)(Tabs)

現(xiàn)在我們編程創(chuàng)建標(biāo)簽頁(yè)(Tabs),我們同時(shí)捕捉 'onSelect' 事件。

$('#tt').tabs({
    border:false,
    onSelect:function(title){
		alert(title+' is selected');
    }
});

添加新的標(biāo)簽頁(yè)面板(tab panel)

通過(guò)迷你工具添加一個(gè)新的標(biāo)簽頁(yè)面板(tab panel),迷你工具圖標(biāo)(8x8)放置在關(guān)閉按鈕前。

// 添加一個(gè)新的標(biāo)簽頁(yè)面板(tab panel)
$('#tt').tabs('add',{
    title:'New Tab',
    content:'Tab Body',
    closable:true,
    tools:[{
		iconCls:'icon-mini-refresh',
		handler:function(){
			alert('refresh');
		}
    }]
});

獲取選中的標(biāo)簽頁(yè)(Tab)

// 獲取選中的標(biāo)簽頁(yè)面板(tab panel)和它的標(biāo)簽頁(yè)(tab)對(duì)象
var pp = $('#tt').tabs('getSelected');
var tab = pp.panel('options').tab; // 相應(yīng)的標(biāo)簽頁(yè)(tab)對(duì)象 

屬性

名稱 類型 描述 默認(rèn)值
width number 標(biāo)簽頁(yè)(Tabs)容器的寬度。 auto
height number 標(biāo)簽頁(yè)(Tabs)容器的高度。 auto
plain boolean 當(dāng)設(shè)置為 true 時(shí),就不用背景容器圖片來(lái)呈現(xiàn) tab 條。 false
fit boolean 當(dāng)設(shè)置為 true 時(shí),就設(shè)置標(biāo)簽頁(yè)(Tabs)容器的尺寸以適應(yīng)它的父容器。 false
border boolean 當(dāng)設(shè)置為 true 時(shí),就顯示標(biāo)簽頁(yè)(Tabs)容器邊框。 true
scrollIncrement number 每按一次 tab 滾動(dòng)按鈕,滾動(dòng)的像素?cái)?shù)。 100
scrollDuration number 每一個(gè)滾動(dòng)動(dòng)畫應(yīng)該持續(xù)的毫秒數(shù)。 400
tools array,selector 放置在頭部的左側(cè)或右側(cè)的工具欄,可能的值:
1、數(shù)組,指示工具組,每個(gè)工具選項(xiàng)都和鏈接按鈕(Linkbutton)一樣。
2、選擇器,指示包含工具的 <div>。

代碼實(shí)例:
通過(guò)數(shù)組定義工具。
$('#tt').tabs({
	tools:[{
		iconCls:'icon-add',
		handler:function(){
			alert('add')
		}
	},{
		iconCls:'icon-save',
		handler:function(){
			alert('save')
		}
	}]
});
通過(guò)已有的 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
toolPosition string 工具欄位置??赡艿闹担?left'、'right'。該屬性自版本 1.3.2 起可用。 right
tabPosition string 標(biāo)簽頁(yè)(tab)位置??赡艿闹担?top'、'bottom'、'left'、'right'。該屬性自版本 1.3.2 起可用。 top
headerWidth number 標(biāo)簽頁(yè)(tab)頭部寬度,只有當(dāng) tabPosition 設(shè)置為 'left' 或 'right' 時(shí)才有效。該屬性自版本 1.3.2 起可用。 150
tabWidth number tab 條的寬度。該屬性自版本 1.3.4 起可用。 auto
tabHeight number tab 條的高度。該屬性自版本 1.3.4 起可用。 27
selected number 初始化選定的標(biāo)簽頁(yè)索引。該屬性自版本 1.3.5 起可用。 0
showHeader boolean 當(dāng)設(shè)置為 true 時(shí),顯示標(biāo)簽頁(yè)(tab)頭部。該屬性自版本 1.3.5 起可用。 true

事件

名稱 參數(shù) 描述
onLoad panel 當(dāng)一個(gè) ajax 標(biāo)簽頁(yè)面板(tab panel)完成加載遠(yuǎn)程數(shù)據(jù)時(shí)觸發(fā)。
onSelect title,index 當(dāng)用戶選擇一個(gè)標(biāo)簽頁(yè)面板(tab panel)時(shí)觸發(fā)。
onUnselect title,index 當(dāng)用戶未選擇一個(gè)標(biāo)簽頁(yè)面板(tab panel)時(shí)觸發(fā)。該事件自版本 1.3.5 起可用。
onBeforeClose title,index 當(dāng)一個(gè)標(biāo)簽頁(yè)面板(tab panel)被關(guān)閉前觸發(fā),返回 false 就取消關(guān)閉動(dòng)作。下面的實(shí)例演示如何在關(guān)閉標(biāo)簽頁(yè)面板(tab panel)前顯示確認(rèn)對(duì)話框。
$('#tt').tabs({
  onBeforeClose: function(title){
	return confirm('Are you sure you want to close ' + title);
  }
});
// using the async confirm dialog
$('#tt').tabs({
  onBeforeClose: function(title,index){
	var target = this;
	$.messager.confirm('Confirm','Are you sure you want to close '+title,function(r){
		if (r){
			var opts = $(target).tabs('options');
			var bc = opts.onBeforeClose;
			opts.onBeforeClose = function(){};  // allowed to close now
			$(target).tabs('close',index);
			opts.onBeforeClose = bc;  // restore the event function
		}
	});
	return false;	// prevent from closing
  }
});
onClose title,index 當(dāng)用戶關(guān)閉一個(gè)標(biāo)簽頁(yè)面板(tab panel)時(shí)觸發(fā)。
onAdd title,index 當(dāng)一個(gè)新的標(biāo)簽頁(yè)面板(tab panel)被添加時(shí)觸發(fā)。
onUpdate title,index 當(dāng)一個(gè)標(biāo)簽頁(yè)面板(tab panel)被更新時(shí)觸發(fā)。
onContextMenu e, title,index 當(dāng)一個(gè)標(biāo)簽頁(yè)面板(tab panel)被右鍵點(diǎn)擊時(shí)觸發(fā)。

方法

名稱 參數(shù) 描述
options none 返回標(biāo)簽頁(yè)(tabs)選項(xiàng)(options)。
tabs none 返回全部的標(biāo)簽頁(yè)面板(tab panel)。
resize none 調(diào)整標(biāo)簽頁(yè)(tabs)容器的尺寸并做布局。
add options 添加一個(gè)新的標(biāo)簽頁(yè)面板(tab panel),options 參數(shù)是一個(gè)配置對(duì)象,更多詳細(xì)信息請(qǐng)參見(jiàn)標(biāo)簽頁(yè)面板(tab panel)屬性。
當(dāng)添加一個(gè)新的標(biāo)簽頁(yè)面板(tab panel)時(shí),它將被選中。
如需添加一個(gè)未選中的標(biāo)簽頁(yè)面板(tab panel),請(qǐng)記得設(shè)置 'selected' 屬性為 false。
// add a unselected tab panel
$('#tt').tabs('add',{
	title: 'new tab',
	selected: false
	//...
});
close which 關(guān)閉一個(gè)標(biāo)簽頁(yè)面板(tab panel),'which' 參數(shù)可以是要被關(guān)閉的標(biāo)簽頁(yè)面板(tab panel)的標(biāo)題(title)或索引(index)。
getTab which 獲取指定的標(biāo)簽頁(yè)面板(tab panel),'which' 參數(shù)可以是標(biāo)簽頁(yè)面板(tab panel)的標(biāo)題(title)或索引(index)。
getTabIndex tab 獲取指定的標(biāo)簽頁(yè)面板(tab panel)索引。
getSelected none 獲取選中的標(biāo)簽頁(yè)面板(tab panel)。下面的實(shí)例演示如何獲取選中的標(biāo)簽頁(yè)面板(tab panel)的索引。
var tab = $('#tt').tabs('getSelected');
var index = $('#tt').tabs('getTabIndex',tab);
alert(index);
select which 選擇一個(gè)標(biāo)簽頁(yè)面板(tab panel),'which' 參數(shù)可以是標(biāo)簽頁(yè)面板(tab panel)的標(biāo)題(title)或索引(index)。
unselect which 選擇一個(gè)標(biāo)簽頁(yè)面板(tab panel),'which' 參數(shù)可以是標(biāo)簽頁(yè)面板(tab panel)的標(biāo)題(title)或索引(index)。該方法自版本 1.3.5 起可用。
showHeader none 顯示標(biāo)簽頁(yè)(tabs)頭部。該方法自版本 1.3.5 起可用。
hideHeader none 隱藏標(biāo)簽頁(yè)(tabs)頭部。該方法自版本 1.3.5 起可用。
exists which 指示指定的面板是否已存在,'which' 參數(shù)可以是標(biāo)簽頁(yè)面板(tab panel)的標(biāo)題(title)或索引(index)。
update param 更新指定的標(biāo)簽頁(yè)面板(tab panel),param 參數(shù)包含兩個(gè)屬性:
tab:被更新的標(biāo)簽頁(yè)面板(tab panel)。
options:面板(panel)的選項(xiàng)(options)。

代碼實(shí)例:
// update the selected panel with new title and content
var tab = $('#tt').tabs('getSelected');  // get selected panel
$('#tt').tabs('update', {
	tab: tab,
	options: {
		title: 'New Title',
		href: 'get_content.php'  // the new content URL
	}
});

// call 'refresh' method for tab panel to update its content
var tab = $('#tt').tabs('getSelected');  // get selected panel
tab.panel('refresh', 'get_content.php');
enableTab which 啟用指定的標(biāo)簽頁(yè)面板(tab panel),'which' 參數(shù)可以是標(biāo)簽頁(yè)面板(tab panel)的標(biāo)題(title)或索引(index)。該方法自版本 1.3 起可用。

代碼實(shí)例:
$('#tt').tabs('enableTab', 1);	// enable the second tab panel
$('#tt').tabs('enableTab', 'Tab2');	enable the tab panel that has 'Tab2' title
disableTab which 禁用指定的標(biāo)簽頁(yè)面板(tab panel),'which' 參數(shù)可以是標(biāo)簽頁(yè)面板(tab panel)的標(biāo)題(title)或索引(index)。該方法自版本 1.3 起可用。

代碼實(shí)例:
$('#tt').tabs('disableTab', 1);	// disable the second tab panel.
scrollBy deltaX 通過(guò)指定的像素?cái)?shù)滾動(dòng)標(biāo)簽頁(yè)(tab)頭部,負(fù)值表示滾動(dòng)到右邊,正值表示滾動(dòng)到左邊。該方法自版本 1.3.2 起可用。

代碼實(shí)例:
// scroll the tab header to left
$('#tt').tabs('scroll', 10);

標(biāo)簽頁(yè)面板(Tab Panel)

標(biāo)簽頁(yè)面板(tab panel)屬性被定義在面板(panel)組件里,下面是一些常用的屬性。

名稱 類型 描述 默認(rèn)值
id string 標(biāo)簽頁(yè)面板(tab panel)的 id 屬性。 null
title string 標(biāo)簽頁(yè)面板(tab panel)的標(biāo)題文字。
content string 標(biāo)簽頁(yè)面板(tab panel)的內(nèi)容。
href string 加載遠(yuǎn)程內(nèi)容來(lái)填充標(biāo)簽頁(yè)面板(tab panel)的 URL。 null
cache boolean 當(dāng)設(shè)置為 true 時(shí),在設(shè)定了有效的 href 特性時(shí)緩存這個(gè)標(biāo)簽頁(yè)面板(tab panel)。 true
iconCls string 顯示在標(biāo)簽頁(yè)面板(tab panel)標(biāo)題上的圖標(biāo)的 CSS class。 null
width number 標(biāo)簽頁(yè)面板(tab panel)的寬度。 auto
height number 標(biāo)簽頁(yè)面板(tab panel)的高度。 auto
collapsible boolean 當(dāng)設(shè)置為 true 時(shí),允許標(biāo)簽頁(yè)面板(tab panel)可折疊。 false

一些附加的屬性。

名稱 類型 描述 默認(rèn)值
closable boolean 當(dāng)設(shè)置為 true 時(shí),標(biāo)簽頁(yè)面板(tab panel)將顯示一個(gè)關(guān)閉按鈕,點(diǎn)擊它就能關(guān)閉這個(gè)標(biāo)簽頁(yè)面板(tab panel)。 false
selected boolean 當(dāng)設(shè)置為 true 時(shí),標(biāo)簽頁(yè)面板(tab panel)將被選中。 false

jQuery EasyUI 插件 jQuery EasyUI 插件
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)