一、前言:

  折叠面板(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'参数可以使面板的标题或者索引。

accordion(折叠面板)的使用的更多相关文章

  1. 布局-EasyUI Panel 面板、EasyUI Tabs 标签页/选项卡、EasyUI Accordion 折叠面板、EasyUI Layout 布局

    EasyUI Panel 面板 通过 $.fn.panel.defaults 重写默认的 defaults. 面板(panel)当做其他内容的容器使用.它是创建其他组件(比如:Layout 布局.Ta ...

  2. Jquery Accordion 折叠面板

    属性 类型 默认值 active Boolean/Number/jQuery/Selector/Element 第一个面板 设定默认显示的面板.设置为 false 时默认不显示面板,需 collaps ...

  3. (八)easyUI之Accordion折叠面板:动态面板

    二.动态面板 数据库设计 函数设计:该函数用于获取某个节点的所有子节点 CREATE FUNCTION fn_getAddress_ChildList_test(rootId INT) RETURNS ...

  4. (七)easyUI之Accordion折叠面板:普通的静态面板

    一.普通的静态面板 前台 <%@ page language="java" contentType="text/html; charset=UTF-8" ...

  5. Vue 折叠面板Collapse在标题上添加组件后,阻止面板冒泡的用法

    iView组件中,折叠面板Collapse点击面板标题部分,会出现面板收起或展开的效果.那么在面板标题后面再添加下拉框之类的组件时,会出现跟面板点击一样的效果,这时候就需要阻止冒泡的用法了.具体代码: ...

  6. jQuery EasyUI 折叠面板accordion的使用实例

    1.对折叠面板区域 div 设置 class=”easyui-accordion” 2.在区域添加多个 div, 每个 div 就是一个面板 (每个面板一定要设置 title 属性). 3.设置面板属 ...

  7. 修改mui accordion(折叠面板)默认展开收缩行为

    mui的折叠面板 accordion 默认展开收缩逻辑是,展开其中一个的同时收缩起同级已经展开的元素. 实际需求:展开其中一个不必收缩同级元素. 分析mui.js源代码: window.addEven ...

  8. jquery ui 常用(一)(自动完成 | 标签页 | 折叠面板 | 带图标的按钮 | 日期选择器| )

    条件,引用3个文件 jquery-ui.min.css; jquery.min.js; jquery-ui.min.js. 一.自动完成 http://www.w3cschool.cc/jqueryu ...

  9. element-ui Collapse 折叠面板源码分析整理笔记(十)

    Collapse 折叠面板源码: collapse.vue <template> <!--一组折叠面板最外层包裹div--> <div class="el-co ...

随机推荐

  1. linux环境jacoco接入

    我们通常会将测试覆盖率分为两个部分,即“需求覆盖率”和“代码覆盖率”. 需求覆盖:指的是测试人员对需求的了解程度,根据需求的可测试性来拆分成各个子需求点,来编写相应的测试用例,最终建立一个需求和用例的 ...

  2. jar包和war包的介绍和区别(转载)

    来源:https://www.jianshu.com/p/3b5c45e8e5bd 做Java开发,jar包和war包接触的挺多的,有必要对它们做一个深入的了解,特总结整理如下: 1.jar包的介绍 ...

  3. 防止不同账号之间localStorage数据错误

    set和get的时候,key后面加上用户ID

  4. js对象的深拷贝及其的几种方法

    深拷贝和浅拷贝是javascript中一个比较复杂的问题,也是面试官最喜欢问的问题之一,通过这个为可以看出是否入门,深拷贝和浅拷贝也是初学者经常犯错一个点. 简单来说深拷贝是拷贝储存在栈中的对象,而浅 ...

  5. mongo shell远程连接使用数据库

    mongo mydb --username user1 --host --password --username 用户名 --host 连接ip --port 连接端口号 --password 密码 ...

  6. 【vue store的使用方法】(this.$store.state this.$store.getters this.$store.dispatch this.$store.commit)

    vue 页面文件 <template> <div> {{this.$store.state.count}}<br/> {{count}}<br/> {{ ...

  7. MFC程序使用控制台打印

    1.在OnCreate窗口创建方法中调用控制台窗口创建方法,创建的窗口是与MFC主窗口共存亡的 参考地址:https://blog.csdn.net/Yong_Qi2015/article/detai ...

  8. 概率 dp lightoj 1395

    dp[k]用类似于低配版的这道题的做法求出,如下: 然后就从k逆推到0就好了 #include<bits/stdc++.h> using namespace std; ; double d ...

  9. 如何用navicat连接linux服务器上的mysql以及重启服务

    1,开启mysql权限:https://www.cnblogs.com/NaughtyCat/p/how-to-connect-to-mysql-on-linux-by-navicat.html my ...

  10. 每天进步一点点------SOPC的Avalon-MM IP核(四) KEY_LED IP定制

    /********************************************************************************* * Company : * Eng ...