jQuery EasyUI 佈局插件 - Accordion 折疊面板
jQuery EasyUI 插件
通過 $.fn.accordion.defaults 重寫默認的 defaults。
折疊面板(accordion)允許您提供多個面板(panel),同時顯示一個或多個面板(panel)。每個面板(panel)都有展開和折疊的內建支持。點擊面板(panel)頭部可展開或折疊面板(panel)主體。面板(panel)內容可通過 ajax 指定 'href' 屬性來加載。用戶可定義被選中的面板(panel)。如果為指定,則默認選中第一個面板(panel)。
依賴
- panel
用法
創建折疊面板(Accordion)
通過標記創建折疊面板(Accordion),添加 'easyui-accordion' class 到 <div> 標記。
<div id="aa" class="easyui-accordion" style="width:300px;height:200px;">
<div title="Title1" data-options="iconCls:'icon-save'" style="overflow:auto;padding:10px;">
<h3 style="color:#0099FF;">Accordion for jQuery</h3>
<p>Accordion is a part of easyui framework for jQuery.
It lets you define your accordion component on web page more easily.</p>
</div>
<div title="Title2" data-options="iconCls:'icon-reload',selected:true" style="padding:10px;">
content2
</div>
<div title="Title3">
content3
</div>
</div>
我們可以改變或重建折疊面板(Accordion)後,修改某些特性。
$('#aa').accordion({
animate:false
});
刷新折疊面板(Accordion Panel)內容
調用 'getSelected' 方法來獲取當前面板(panel),然後我們可以調用面板(panel)的 'refresh' 方法來加載新內容。
var pp = $('#aa').accordion('getSelected'); // 獲取選中的面板(panel)
if (pp){
pp.panel('refresh','new_content.php'); // 調用 'refresh' 方法加載新內容
}
容器選項
| 名稱 | 類型 | 描述 | 默認值 |
|---|---|---|---|
| width | number | 折疊面板(Accordion)容器的寬度。 | auto |
| height | number | 折疊面板(Accordion)容器的高度。 | auto |
| fit | boolean | 設置為 true,就使折疊面板(Accordion)容器的尺寸適應它的父容器。 | false |
| border | boolean | 定義是否顯示邊框。 | true |
| animate | boolean | 定義當展開或折疊面板(panel)時是否顯示動畫效果。 | true |
| multiple | boolean | 設置為 true,則可同時展開多個面板(panel)。該屬性自版本 1.3.5 起可用。 | false |
| selected | number | 初始化選中的面板(panel)索引。該屬性自版本 1.3.5 起可用。 | 0 |
面板(Panel)選項
折疊面板(Accordion)的面板(panel)選項繼承自面板(panel),下麵是附加的屬性:
| 名稱 | 類型 | 描述 | 默認值 |
|---|---|---|---|
| selected | boolean | 設置為 true 就展開面板(panel)。 | false |
| collapsible | boolean | 定義是否顯示可折疊按鈕。如果設置為 false,將不能通過點擊來展開/折疊面板(panel)。 | true |
事件
| 名稱 | 參數 | 描述 |
|---|---|---|
| onSelect | title,index | 當面板(panel)被選中時觸發。 |
| onUnselect | title,index | 當面板(panel)未被選中時觸發。該事件自版本 1.3.5 起可用。 |
| onAdd | title,index | 當添加一個新面板(panel)時觸發。 |
| onBeforeRemove | title,index | 當移除一個面板(panel)之前觸發,返回 false 就取消移除動作。 |
| onRemove | title,index | 當移除一個面板(panel)時觸發。 |
方法
| 名稱 | 參數 | 描述 |
|---|---|---|
| options | none | 返回折疊面板(accordion)的選項。 |
| panels | none | 獲取全部的面板(panel)。 |
| resize | none | 調整折疊面板(accordion)的尺寸。 |
| getSelected | none | 獲取第一個選中的面板(panel)。 |
| getSelections | none | 過去所有選中的面板(panel)。該方法自版本 1.3.5 起可用。 |
| getPanel | which | 獲取指定的面板(panel)。'which' 參數可以是面板(panel)的標題(title)或索引(index)。 |
| getPanelIndex | panel | 獲取指定的面板(panel)索引。該方法自版本 1.3 起可用。 下麵的實例顯示如何獲取選中的面板(panel)索引。
var p = $('#aa').accordion('getSelected');
if (p){
var index = $('#aa').accordion('getPanelIndex', p);
alert(index);
}
|
| select | which | 選擇指定的面板(panel)。'which' 參數可以是面板(panel)的標題(title)或索引(index)。 |
| unselect | which | 未選擇指定的面板(panel)。'which' 參數可以是面板(panel)的標題(title)或索引(index)。該方法自版本 1.3.5 起可用。 |
| add | options | 添加一個新的面板(panel)。默認情況下,新添加的面板(panel)會被選中。如需添加一個未被選中的新面板(panel),請傳遞 'selected' 屬性,並將其設置為 false。 代碼實例:
$('#aa').accordion('add', {
title: 'New Title',
content: 'New Content',
selected: false
});
|
| remove | which | 移除指定的面板(panel)。'which' 參數可以是面板(panel)的標題(title)或索引(index)。 |
jQuery EasyUI 插件
