accordion(折疊面板)的使用


一、前言:

  折疊面板(accordion)允許使用多面板(panel),同時顯示一個或多個面板(panel)。每個面板(panel)都有展開和折疊的內建支持。點擊面板(panel)頭部可展開或折疊面板(panel)主體。面板(panel)內容可通過 ajax 指定 'href' 屬性來加載。用戶可定義被選中的面板(panel)。如果未指定,則默認選中第一個面板(panel)。

二、使用實例

1、創建方式

  easyui 中的控件一般有兩種創建方式:通過標簽的方式以及js編程的方式。

1.1標簽的方式創建:

如下所示:給父容器div標簽添加一個名為“easyui-accordion”的類ID,通過data-options屬性來設置其參數。父容器中的每個div為一個面板,在面板中又可以增加一些其他的內容,在這里是每個面板中加了一個樹控件來實現菜單導航。樹控件中的節點可以手動添加同時也可以通過ajax的方式從后台獲取,可以按照這個思路來進行功能權限的控件。

<div id="left" data-options="region:'west',title:'導航菜單',split:true" style="width: 15%;">
        <div id="left_content" class="easyui-accordion" data-options="fit:true">
            <div title="基礎數據">
                <ul class="easyui-tree" data-options="lines: true">
                    <li>組織分解結構</li>
                    <li>崗位分解結構</li>
                    <li>用戶管理</li>
                </ul>
            </div>
            <div title="流程管理">
                <ul class="easyui-tree" data-options="lines: true">
                    <li>流程預定義</li>
                    <li>流程監控</li>
                </ul>
            </div>
            <div title="系統集成管理" data-options="lines: true">
                <ul class="easyui-tree">
                    <li>手動同步數據</li>
                    <li>數據同步日志</li>
                </ul>
            </div>
            <div title="權限管理">
                <ul class="easyui-tree" data-options="lines: true">
                    <li>角色管理</li>
                    <li>用戶權限分配</li>
                    <li>
                        <span>數據權限管理</span>
                        <ul>
                            <li>數據權限關聯配置</li>
                            <li>數據權限批量處理</li>
                        </ul>
                    </li>
                </ul>
            </div>
        </div>
    </div>

1.2通過編程的方式創建

$("#left_content").accordion({...})

效果圖:

2、下面對相關的屬性、方法進行記錄說明

2.1 容器屬性

屬性名 屬性值類型 描述 默認值
width number 分類容器的寬度。 auto
height number 分類容器的高度。 auto
fit boolean 如果設置為true,分類容器大小將自適應父容器。 false
border boolean 定義是否顯示邊框。 true
animate boolean 定義在展開和折疊的時候是否顯示動畫效果。 true
multiple boolean 如果為true時,同時展開多個面板。(該屬性自1.3.5版開始可用) false
selected number 設置初始化時默認選中的面板索引號。(該屬性自1.3.5版開始可用) 0

2.2 面板屬性

分類面板屬性繼承自panel(面板),分類面板新增的屬性如下:

屬性名 屬性值類型 描述 默認值
selected boolean 如果設置為true將展開面板。 false
collapsible boolean 如果設置為true將顯示折疊按鈕。 true

2.2.1 事件

事件名 事件參數 描述
onSelect title,index 在面板被選中的時候觸發。
onUnselect title,index 在面板被取消選中的時候觸發。(該方法自1.3.5版開始可用)
onAdd title,index 在添加新面板的時候觸發。
onBeforeRemove title,index 在移除面板之前觸發,返回false可以取消移除操作。
onRemove title,index 在面板被移除的時候觸發。

2.2.2 方法

方法名 方法參數 描述
options none 返回分類組件的屬性。
panels none 獲取所有面板。
resize none 調整分類組件大小。
getSelected none 獲取選中的面板。
getSelections none 獲取所有選中的面板。(該方法自1.3.5版開始可用)
getPanel which 獲取指定的面板,'which'參數可以是面板的標題或者索引。
getPanelIndex panel 獲取指定面板的索引。(該方法自1.3版開始可用)

以下示例顯示如何獲取選中面板的索引。

var p = $('#aa').accordion('getSelected'); if (p){ var index = $('#aa').accordion('getPanelIndex', p); alert(index); }
select which 選擇指定面板。'which'參數可以是面板標題或者索引。
unselect which 取消選擇指定面板。'which'參數可以是面板標題或者索引。(該方法自1.3.5版開始可用)
add options 添加一個新面板。在默認情況下,新增的面板會變成當前面板。如果要添加一個非選中面板,不要忘記將'selected'屬性設置為false。

代碼示例:

$('#aa').accordion('add', { title: '新標題', content: '新內容', selected: false });
remove which 移除指定面板。'which'參數可以使面板的標題或者索引。

 

 

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM