amazeui学习笔记--js插件(UI增强4)--下拉组件Dropdown
amazeui学习笔记--js插件(UI增强4)--下拉组件Dropdown
一、总结
1、am-dropdown(及其孩子):控制下拉列表的样式
2、data-am-dropdown(及其孩子):控制下拉列表的事件,这部分事件当然可以用jquery来代替
3、下拉列表样例:
<div class="am-dropdown" data-am-dropdown>
<button class="am-btn am-btn-primary am-dropdown-toggle" data-am-dropdown-toggle>下拉列表 <span class="am-icon-caret-down"></span></button>
<ul class="am-dropdown-content">
<li class="am-dropdown-header">标题</li>
<li><a href="#">快乐的方式不只一种</a></li>
<li class="am-active"><a href="#">最荣幸是</a></li>
<li><a href="#">谁都是造物者的光荣</a></li>
<li class="am-disabled"><a href="#">就站在光明的角落</a></li>
<li class="am-divider"></li>
<li><a href="#">天空海阔 要做最坚强的泡沫</a></li>
</ul>
</div>
am-dropdown样式:am-dropdown am-dropdown-content toggle header
data-am-dropdown事件:data-am-dropdown data-am-dropdown-toggle
二、下拉组件Dropdown
Dropdown
使用演示
下拉列表
<div class="am-dropdown" data-am-dropdown>
<button class="am-btn am-btn-primary am-dropdown-toggle" data-am-dropdown-toggle>下拉列表 <span class="am-icon-caret-down"></span></button>
<ul class="am-dropdown-content">
<li class="am-dropdown-header">标题</li>
<li><a href="#">快乐的方式不只一种</a></li>
<li class="am-active"><a href="#">最荣幸是</a></li>
<li><a href="#">谁都是造物者的光荣</a></li>
<li class="am-disabled"><a href="#">就站在光明的角落</a></li>
<li class="am-divider"></li>
<li><a href="#">天空海阔 要做最坚强的泡沫</a></li>
</ul>
</div>
上拉列表
在 .am-dropdown 上添加 .am-dropdown-up class,在上面弹出内容。
<div class="am-dropdown am-dropdown-up" data-am-dropdown>
<button class="am-btn am-btn-danger am-dropdown-toggle" data-am-dropdown-toggle>上拉列表 <span class="am-icon-caret-up"></span></button>
<ul class="am-dropdown-content">
<li class="am-dropdown-header">标题</li>
<li><a href="#">快乐的方式不只一种</a></li>
<li class="am-active"><a href="#">最荣幸是</a></li>
<li><a href="#">谁都是造物者的光荣</a></li>
<li class="am-disabled"><a href="#">就站在光明的角落</a></li>
<li class="am-divider"></li>
<li><a href="#">天空海阔 要做最坚强的泡沫</a></li>
</ul>
</div>
下拉内容
<div class="am-dropdown" data-am-dropdown>
<button class="am-btn am-btn-success am-dropdown-toggle">Dropdown <span class="am-icon-caret-down"></span></button>
<div class="am-dropdown-content">
<h2>I am what I am</h2>
<p>
多么高兴 在琉璃屋中快乐生活
对世界说 甚么是光明和磊落
我就是我 是颜色不一样的烟火
</p>
</div>
</div>
宽度适应
下拉内容 .am-dropdown-content 为绝对定位,宽度会根据内容缩放(最小为 160px)。
在 data-am-dropdown 里指定要适应到的元素,下拉内容的宽度会设置为该元素的宽度。当然可以直接在 CSS 里设置下拉内容的宽度。
<div id="doc-dropdown-justify">
<div class="am-dropdown" data-am-dropdown="{justify: '#doc-dropdown-justify'}">
<button class="am-btn am-btn-success am-dropdown-toggle">宽度适应下拉 <span class="am-icon-caret-down"></span></button>
<div class="am-dropdown-content">
<h2>I am what I am</h2>
<p>
多么高兴 在琉璃屋中快乐生活
对世界说 甚么是光明和磊落
我就是我 是颜色不一样的烟火
</p>
</div>
</div>
</div>
调用方式
通过 Data API
如上面的演示所示,根据示例组织好 HTML 结构,然后在 .am-dropdown 上添加 data-am-dropdown 属性,相关选项可以设置在该属性的值里。
通过 JS
按照示例组织好 HTML 结构(不加 data-am-dropdown 属性),然后通过 JS 来调用。
<div id="doc-dropdown-justify-js" style="width: 400px">
<div class="am-dropdown" id="doc-dropdown-js">
<button class="am-btn am-btn-danger am-dropdown-toggle">通过 JS 调用 <span class="am-icon-caret-down"></span></button>
<div class="am-dropdown-content">...</div>
</div>
</div>
<script>
$(function() {
$('#doc-dropdown-js').dropdown({justify: '#doc-dropdown-justify-js'});
});
</script>
方法
$(element).dropdown(options)激活下拉功能;$(element).dropdown('toggle')下拉状态交替;$(element).dropdown('close')隐藏下拉菜单;$(element).dropdown('open')显示下拉菜单。
<button class="am-btn am-btn-secondary" id="doc-dropdown-toggle">调用 Toggle</button>
<button class="am-btn am-btn-success" id="doc-dropdown-open">调用 Open</button>
<button class="am-btn am-btn-warning" id="doc-dropdown-close">调用 Close</button>
<script>
$(function() {
var $dropdown = $('#doc-dropdown-js'),
data = $dropdown.data('amui.dropdown');
$('#doc-dropdown-toggle').on('click', function(e) {
$dropdown.dropdown('toggle');
return false;
});
$('#doc-dropdown-open').on('click', function(e) {
data.active ? alert('已经打开了,施主又何必再纠缠呢!') : $dropdown.dropdown('open');
return false;
});
$('#doc-dropdown-close').on('click', function(e) {
data.active ? $dropdown.dropdown('close') : alert('没有开哪有关,没有失哪有得!');
return false;
});
$dropdown.on('open.dropdown.amui', function (e) {
console.log('open event triggered');
});
});
</script>
参数说明
| 参数 | 类型 | 默认 | 描述 |
|---|---|---|---|
boundary |
选择器 | window |
下拉内容边界,避免下拉内容超过边界被遮盖截断 |
justify |
选择器 | undefined |
下拉内容适应宽度的元素 |
自定义事件
下拉框的自定义事件在 .am-dropdown 上触发。
| 事件名称 | 描述 |
|---|---|
open.dropdown.amui |
调用显示下拉框方法时立即触发 |
opened.dropdown.amui |
下拉框显示完成时触发 |
close.dropdown.amui |
调用隐藏方法时触发 |
closed.dropdown.amui |
下拉框关闭完成时触发 |
$(function() {
$dropdown.on('open.dropdown.amui', function (e) {
console.log('open event triggered');
});
});
amazeui学习笔记--js插件(UI增强4)--下拉组件Dropdown的更多相关文章
- amazeui学习笔记--js插件(UI增强)--警告框Alert
amazeui学习笔记--js插件(UI增强)--警告框Alert 一.总结 1.警告框基本样式:用am-alert声明div容器, <div class="am-alert" ...
- amazeui学习笔记--js插件(UI增强3)--折叠面板Collapse
amazeui学习笔记--js插件(UI增强3)--折叠面板Collapse 一.总结 注意点: 1.data-am-collapse:这个东西就是展开折叠事件 2.am-collapse(包括其下属 ...
- amazeui学习笔记--js插件(UI增强2)--按钮交互Button
amazeui学习笔记--js插件(UI增强2)--按钮交互Button 一.总结 1.按钮loading状态: <button type="button" class=&q ...
- 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 ...
- Jquery学习笔记:利用jquery获取select下拉框的值
jquery不是特别熟练,每次使用不常用的就要百度,特地记录下来. 我的下拉框是: <div class="form-group"> <select class= ...
- .net Core学习笔记3 编辑列表并绑定下拉列
本次主要实现列表的编辑及下拉列表的绑定 先看效果图: 主要用DropDownList绑定下拉列后端代码: 1:定义一个存下拉数据类 public class SelectItem { public s ...
- amazeui中的js插件有哪些(详解功能)
amazeui中的js插件有哪些(详解功能) 一.总结 一句话总结: 二.amazeui中的js插件有哪些 1.UI 增强 警告框Alert 按钮交互Button 折叠面板Collapse 下拉组件D ...
- amazeui学习笔记二(进阶开发1)--项目结构structure
amazeui学习笔记二(进阶开发1)--项目结构structure 一.总结 1.项目结构:是说的amazeui在github上面的项目结构,二次开发amazeui用 二.项目结构structure ...
随机推荐
- Mysql第八天 分区与分表
分区表 主要提供例如以下的特性,或者适合如此场景: 数据量非常大, 或者仅仅有表中最后的部分有热点数据.其它均为历史数据 分区表数据更easy维护,能够对独立的分区删除等操作 分区表的数据能够分布在不 ...
- FormData是什么
FormData是什么 一.总结 一句话总结:利用 FormData 对象,可以通过JavaScript键值对来模拟一系列表单控件,还可以使用 XMLHttpRequest的send() 方法来异步提 ...
- 3.索引与string进行映射实现高效查找
#include <iostream> #include <typeindex>//类型索引 #include <unordered_map>//红黑树 #incl ...
- IBM Tivoli Netview在企业网络管理中的实践(附视频)
今天我为大家介绍的一款高端网管软件名叫IBM Tivoli NetView,他主要关注是IBM整理解决方案的用户,分为Unix平台和Windwos平台两种,这里视频演示的是基于Windows 2003 ...
- Linux系统存储交换机日志
Linux系统存储交换机日志 日志记录是为系统设备在运行过程中报告其运行情况而设的, 为了保证系统正常运行, 解决每一天可能遇到的各种各样的问题, 网络管理员必须认真地读取日志记录.目前公司系 ...
- ssm框架的总结
ssm对应的是spring+springmvc+mybatis, 一.spring,略. 二.spring mvc是spring提供的mvc模块, 从图中可以看出,springmvc的模块划分非常多, ...
- Kinect 开发 —— 手势识别(下)
基本手势追踪 手部追踪在技术上和手势识别不同,但是它和手势识别中用到的一些基本方法是一样的.在开发一个具体的手势控件之前,我们先建立一个可重用的追踪手部运动的类库以方便我们后续开发.这个手部追踪类库包 ...
- 高速数论变换(NTT)
今天的A题.裸的ntt,但我不会,于是白送了50分. 于是跑来学一下ntt. 题面非常easy.就懒得贴了,那不是我要说的重点. 重点是NTT,也称高速数论变换. 在非常多问题中,我们可能会遇到在模意 ...
- OpenGL核心技术之混合技术
笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者.国家专利发明人;已出版书籍:<手把手教你架构3D游戏引擎>电子工业出版社和<Unity3D ...
- 终结者:借助pinyin4j相关jar包提取汉字的首字母
import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pinyin4j.format.HanyuPinyinCase ...