amazeui学习笔记--js插件(UI增强3)--折叠面板Collapse
amazeui学习笔记--js插件(UI增强3)--折叠面板Collapse
一、总结
注意点:
1、data-am-collapse:这个东西就是展开折叠事件
2、am-collapse(包括其下属):这个控制折叠样式
1、折叠面板:结合 Panel 组件实现手风琴效果。需结合以下辅助 class 使用:
- 要隐藏的内容添加
.am-collapse
; - 默认显示的内容添加
.am-collapse.am-in
;
添加以上 class 以后,通过 Data API 来调用:
<h4 data-am-collapse="{parent: '#accordion', target: '#do-not-say-1'}"></h4>
其中:
parent
为容器 IDtarget
为要伸缩的容器 ID
如果触发元素为 <a>
元素,可以把 target
设置在 href
属性里。
- <a data-am-collapse="{parent: '#accordion'}" href="#do-not-say-1">
- ...
- </a>
- <div class="am-panel-group" id="accordion">
- <div class="am-panel am-panel-default">
- <div class="am-panel-hd">
- <h4 class="am-panel-title" data-am-collapse="{parent: '#accordion', target: '#do-not-say-1'}">
- ...
- </h4>
- </div>
- <div id="do-not-say-1" class="am-panel-collapse am-collapse am-in">
- <div class="am-panel-bd">
- ...
- </div>
- </div>
- </div>
2、折叠菜单:使用时注意目标元素外面应该有一个容器,以便动画执行时计算高度。
- <button class="am-btn am-btn-primary" data-am-collapse="{target: '#collapse-nav'}">Menu <i class="am-icon-bars"></i></button>
- <nav>
- <ul id="collapse-nav" class="am-nav am-collapse">
- <li><a href="">开始使用</a></li>
- <li><a href="">CSS 介绍</a></li>
- <li class="am-active"><a href="">JS 介绍</a></li>
- <li><a href="">功能定制</a></li>
- </ul>
- </nav>
3、折叠列表:注意 <li>
标签上需要添加 am-panel
class。
4、通过data API设置折叠:在元素上添加 data-am-collapse
并设置 target
的值为折叠元素 ID:
- <button data-am-collapse="{target: '#my-collapse'}"></button>
5、通过js调用折叠:$('#myCollapse').collapse()
$().collapse(options)
- 绑定元素展开/折叠操作
$('#myCollapse').collapse({
toggle: false
})
$().collapse('toggle')
- 切换面板状态$().collapse('open')
- 展开面板$().collapse('close')
- 关闭面板
6、自定义事件:
$('#collapse-nav').on('open.collapse.amui', function() {
console.log('折叠菜单打开了!');
}).on('close.collapse.amui', function() {
console.log('折叠菜单关闭鸟!');
});
事件 | 描述 |
---|---|
open.collapse.amui |
open 方法被调用时立即触发 |
opened.collapse.amui |
元素完全展开后触发 |
close.collapse.amui |
close 方法被调用后立即触发 |
closed.collapse.amui |
元素折叠完成后触发 |
二、折叠面板Collapse
Collapse
折叠效果组件,用于制作下滑菜单或手风琴效果。
使用演示
折叠面板
结合 Panel 组件实现手风琴效果。需结合以下辅助 class 使用:
- 要隐藏的内容添加
.am-collapse
; - 默认显示的内容添加
.am-collapse.am-in
;
添加以上 class 以后,通过 Data API 来调用:
<h4 data-am-collapse="{parent: '#accordion', target: '#do-not-say-1'}"></h4>
其中:
parent
为容器 IDtarget
为要伸缩的容器 ID
如果触发元素为 <a>
元素,可以把 target
设置在 href
属性里。
<a data-am-collapse="{parent: '#accordion'}" href="#do-not-say-1">
...
</a>
莫言 - 你不懂我,我不怪你 #1
我把最深沉的秘密放在那里。
你不懂我,我不怪你。
每个人都有一道伤口, 或深或浅,盖上布,以为不存在。
我把最殷红的鲜血涂在那里。
你不懂我,我不怪你。
莫言 - 你不懂我,我不怪你 #2
莫言 - 你不懂我,我不怪你 #3
<div class="am-panel-group" id="accordion">
<div class="am-panel am-panel-default">
<div class="am-panel-hd">
<h4 class="am-panel-title" data-am-collapse="{parent: '#accordion', target: '#do-not-say-1'}">
...
</h4>
</div>
<div id="do-not-say-1" class="am-panel-collapse am-collapse am-in">
<div class="am-panel-bd">
...
</div>
</div>
</div>
<div class="am-panel am-panel-default">
<div class="am-panel-hd">
<h4 class="am-panel-title" data-am-collapse="{parent: '#accordion', target: '#do-not-say-2'}">
...
</h4>
</div>
<div id="do-not-say-2" class="am-panel-collapse am-collapse">
<div class="am-panel-bd">
...
</div>
</div>
</div>
<div class="am-panel am-panel-default">
<div class="am-panel-hd">
<h4 class="am-panel-title" data-am-collapse="{parent: '#accordion', target: '#do-not-say-3'}">...</h4>
</div>
<div id="do-not-say-3" class="am-panel-collapse am-collapse">
<div class="am-panel-bd">
...
</div>
</div>
</div>
</div>
折叠菜单
使用时注意目标元素外面应该有一个容器,以便动画执行时计算高度。
<button class="am-btn am-btn-primary" data-am-collapse="{target: '#collapse-nav'}">Menu <i class="am-icon-bars"></i></button>
<nav>
<ul id="collapse-nav" class="am-nav am-collapse">
<li><a href="">开始使用</a></li>
<li><a href="">CSS 介绍</a></li>
<li class="am-active"><a href="">JS 介绍</a></li>
<li><a href="">功能定制</a></li>
</ul>
</nav>
折叠列表
感谢 @looly 提供的例子。注意 <li>
标签上需要添加 am-panel
class。
<ul class="am-list admin-sidebar-list" id="collapase-nav-1">
<li class="am-panel">
<a data-am-collapse="{parent: '#collapase-nav-1'}" href="#/"><i class="am-icon-home am-margin-left-sm"></i> 首页</a>
</li>
<li class="am-panel">
<a data-am-collapse="{parent: '#collapase-nav-1', target: '#user-nav'}">
<i class="am-icon-users am-margin-left-sm"></i> 人员管理 <i class="am-icon-angle-right am-fr am-margin-right"></i>
</a>
<ul class="am-list am-collapse admin-sidebar-sub" id="user-nav">
<li><a href="#/userAdd"><i class="am-icon-user am-margin-left-sm"></i> 添加人员 </a></li>
<li><a href="#/userList/0"><i class="am-icon-user am-margin-left-sm"></i> 人员列表 </a></li>
</ul>
</li>
<li class="am-panel">
<a data-am-collapse="{parent: '#collapase-nav-1', target: '#company-nav'}">
<i class="am-icon-table am-margin-left-sm"></i> 单位(部门)管理 <i class="am-icon-angle-right am-fr am-margin-right"></i>
</a>
<ul class="am-list am-collapse admin-sidebar-sub" id="company-nav">
<li><a href="#/companyAdd"><span class="am-icon-table am-margin-left-sm"></span> 添加单位(部门) </a></li>
<li><a href="#/companyList/0"><span class="am-icon-table am-margin-left-sm"></span> 单位(部门)列表 </a></li>
</ul>
</li>
<li class="am-panel">
<a data-am-collapse="{parent: '#collapase-nav-1', target: '#role-nav'}">
<i class="am-icon-table am-margin-left-sm"></i> 角色管理 <i class="am-icon-angle-right am-fr am-margin-right"></i>
</a>
<ul class="am-list am-collapse admin-sidebar-sub" id="role-nav">
<li><a href="#/roleAdd"><span class="am-icon-table am-margin-left-sm"></span> 添加角色 </a></li>
<li><a href="#/roleList/0"><span class="am-icon-table am-margin-left-sm"></span> 角色列表 </a></li>
</ul>
</li>
</ul>
调用方式
通过 Data API
在元素上添加 data-am-collapse
并设置 target
的值为折叠元素 ID:
<button data-am-collapse="{target: '#my-collapse'}"></button>
通过 JS
使用方法:
$('#myCollapse').collapse()
方法
$().collapse(options)
- 绑定元素展开/折叠操作
$('#myCollapse').collapse({
toggle: false
})
$().collapse('toggle')
- 切换面板状态$().collapse('open')
- 展开面板$().collapse('close')
- 关闭面板
选项
参数 | 类型 | 默认 | 描述 |
---|---|---|---|
parent |
选择符 | false |
如果设置了 parent 参数,且该容器下有多个可折叠的面板时,展开一个面板会关闭其它展开的面板。换言之,如果想让多个面板可以都处于展开状态,那不设置这个参数即可。 |
toggle |
布尔值 | true |
交替执行展开/关闭操作 |
自定义事件
自定义事件在折叠的元素上触发,以上面的折叠菜单为例,#collapse-nav
触发自定义事件:
$('#collapse-nav').on('open.collapse.amui', function() {
console.log('折叠菜单打开了!');
}).on('close.collapse.amui', function() {
console.log('折叠菜单关闭鸟!');
});
事件 | 描述 |
---|---|
open.collapse.amui |
open 方法被调用时立即触发 |
opened.collapse.amui |
元素完全展开后触发 |
close.collapse.amui |
close 方法被调用后立即触发 |
closed.collapse.amui |
元素折叠完成后触发 |
注意事项
不要在折叠内容的容器上设置垂直的 margin
/padding
/border
样式。
jQuery 计算元素高度的方式有点奇葩,暂时只能通过上面的方式规避。
Issue 列表
amazeui学习笔记--js插件(UI增强3)--折叠面板Collapse的更多相关文章
- amazeui学习笔记--js插件(UI增强)--警告框Alert
amazeui学习笔记--js插件(UI增强)--警告框Alert 一.总结 1.警告框基本样式:用am-alert声明div容器, <div class="am-alert" ...
- amazeui学习笔记--js插件(UI增强4)--下拉组件Dropdown
amazeui学习笔记--js插件(UI增强4)--下拉组件Dropdown 一.总结 1.am-dropdown(及其孩子):控制下拉列表的样式 2.data-am-dropdown(及其孩子):控 ...
- amazeui学习笔记--js插件(UI增强2)--按钮交互Button
amazeui学习笔记--js插件(UI增强2)--按钮交互Button 一.总结 1.按钮loading状态: <button type="button" class=&q ...
- amazeui学习笔记--css(常用组件12)--面板Panel
amazeui学习笔记--css(常用组件12)--面板Panel 一.总结 1.面板基本样式:默认的 .am-panel 提供基本的阴影和边距,默认边框添加 .am-panel-default,内容 ...
- amazeui学习笔记二(进阶开发1)--项目结构structure
amazeui学习笔记二(进阶开发1)--项目结构structure 一.总结 1.项目结构:是说的amazeui在github上面的项目结构,二次开发amazeui用 二.项目结构structure ...
- amazeui学习笔记三(你来我往1)--常见问题FAQs
amazeui学习笔记三(你来我往1)--常见问题FAQs 一.总结 1.DOM事件失败:记得加上初始化代码,例如 图片轮播 $('#my-slider').flexslider(); 2.jquer ...
- amazeui学习笔记二(进阶开发5)--Web 组件开发规范Rules
amazeui学习笔记二(进阶开发5)--Web 组件开发规范Rules 一.总结 1.见名知意:见那些class名字知意,见函数名知意,见文件名知意 例如(HISTORY.md Web 组件更新历史 ...
- amazeui学习笔记二(进阶开发2)--Web组件简介Web Component
amazeui学习笔记二(进阶开发2)--Web组件简介Web Component 一.总结 1.amaze ui:amaze ui是一个web 组件, 由模板(hbs).样式(LESS).交互(JS ...
- amazeui学习笔记一(开始使用3)--兼容性列表compatibility
amazeui学习笔记一(开始使用3)--兼容性列表compatibility 一.总结 1.不要用ie做前端测试,不要碰ie,尽量用google 浏览器: 按照微软官方的说法,IE 开发者工具中的浏 ...
随机推荐
- Codeforces 429D Tricky Function 近期点对
题目链接:点击打开链接 暴力出奇迹. 正解应该是近期点对.以i点为x轴,sum[i](前缀和)为y轴,求随意两点间的距离. 先来个科学的暴力代码: #include<stdio.h> #i ...
- 为SSD编程(4)——高级功能和内部并行
原文 http://codecapsule.com/2014/02/12/coding-for-ssds-part-4-advanced-functionalities-and-internal-pa ...
- ToString DateTime 操作
来源:网络 字符型转换为字符串// C 货币 2.5.ToString("C"); // ¥2.50 // D 10进制数 25.ToString("D5"); ...
- arp---操作主机的arp缓冲区
简介 arp命令用于操作主机的arp缓冲区,可以用来显示arp缓冲区中的所有条目.删除指定的条目或者添加静态的ip地址与MAC地址对应关系. 选项 -a<主机>:显示arp缓冲区的所有条目 ...
- linux系统常用日志
系统日志记录着系统运行中的记录信息,在服务或者系统发生故障的时候,通过查询系统日志,可以帮助我们诊断.系统日志可以预警安全问题,系统日志一般都存放在/var/log目录下 /var/log/dmesg ...
- IDLE的自动补全功能
IDLE的自动补全功能位于:Edit→Show Completions,但每次需要补全的时候都需要点击一次,虽然IDLE提供了一个快捷键(Ctrl + Space),但实测无效.具体操作如下图
- 洛谷 P1911 L国的战斗之排兵布阵
P1911 L国的战斗之排兵布阵 题目背景 L国即将与I国发动战争!! 题目描述 L国的指挥官想让他的每一个军营都呈现出国徽形——“L”形(方向无所谓).当然,他的指挥营除外(这叫做个性),他想不出该 ...
- new不抛出异常nothrow与new_handler
可以看这里: http://blog.csdn.net/huyiyang2010/article/details/5984987 现在的new是会抛出异常的,bad::alloc 如果不想抛出异常两种 ...
- SSO 中间件 kisso
SSO 中间件 kisso kisso = cookie sso,基于 Cookie 的 SSO 中间件.kisso 不是一套完整的登录系统, 它的定位是一把高速开发 java Web 单点登录系 ...
- android图像处理(3)浮雕效果
这篇将讲到图片特效处理的浮雕效果.跟前面一样是对像素点进行处理,算法是通用的. 算法原理:用前一个像素点的RGB值分别减去当前像素点的RGB值并加上127作为当前像素点的RGB值. 例: ABC 求B ...