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


使用演示

下拉列表

 Copy
下拉列表 
<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,在上面弹出内容。

 Copy
上拉列表 
<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>

下拉内容

 Copy
下拉内容 
<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 里设置下拉内容的宽度。

 Copy
宽度适应下拉 
<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 来调用。

 Copy
通过 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') 显示下拉菜单。
 Copy
调用 Toggle 调用 Open 调用 Close
<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 下拉框关闭完成时触发
 Copy
$(function() {
$dropdown.on('open.dropdown.amui', function (e) {
console.log('open event triggered');
});
});

amazeui学习笔记--js插件(UI增强4)--下拉组件Dropdown的更多相关文章

  1. amazeui学习笔记--js插件(UI增强)--警告框Alert

    amazeui学习笔记--js插件(UI增强)--警告框Alert 一.总结 1.警告框基本样式:用am-alert声明div容器, <div class="am-alert" ...

  2. amazeui学习笔记--js插件(UI增强3)--折叠面板Collapse

    amazeui学习笔记--js插件(UI增强3)--折叠面板Collapse 一.总结 注意点: 1.data-am-collapse:这个东西就是展开折叠事件 2.am-collapse(包括其下属 ...

  3. amazeui学习笔记--js插件(UI增强2)--按钮交互Button

    amazeui学习笔记--js插件(UI增强2)--按钮交互Button 一.总结 1.按钮loading状态: <button type="button" class=&q ...

  4. amazeui学习笔记二(进阶开发5)--Web 组件开发规范Rules

    amazeui学习笔记二(进阶开发5)--Web 组件开发规范Rules 一.总结 1.见名知意:见那些class名字知意,见函数名知意,见文件名知意 例如(HISTORY.md Web 组件更新历史 ...

  5. amazeui学习笔记二(进阶开发2)--Web组件简介Web Component

    amazeui学习笔记二(进阶开发2)--Web组件简介Web Component 一.总结 1.amaze ui:amaze ui是一个web 组件, 由模板(hbs).样式(LESS).交互(JS ...

  6. Jquery学习笔记:利用jquery获取select下拉框的值

    jquery不是特别熟练,每次使用不常用的就要百度,特地记录下来. 我的下拉框是: <div class="form-group"> <select class= ...

  7. .net Core学习笔记3 编辑列表并绑定下拉列

    本次主要实现列表的编辑及下拉列表的绑定 先看效果图: 主要用DropDownList绑定下拉列后端代码: 1:定义一个存下拉数据类 public class SelectItem { public s ...

  8. amazeui中的js插件有哪些(详解功能)

    amazeui中的js插件有哪些(详解功能) 一.总结 一句话总结: 二.amazeui中的js插件有哪些 1.UI 增强 警告框Alert 按钮交互Button 折叠面板Collapse 下拉组件D ...

  9. amazeui学习笔记二(进阶开发1)--项目结构structure

    amazeui学习笔记二(进阶开发1)--项目结构structure 一.总结 1.项目结构:是说的amazeui在github上面的项目结构,二次开发amazeui用 二.项目结构structure ...

随机推荐

  1. Exception in thread &quot;main&quot; java.lang.UnsupportedClassVersionError: org/apache/ma ven/cli/Maven

    安装maven 中出现例如以下异常: Exception in thread "main" java.lang.UnsupportedClassVersionError: org/ ...

  2. UIButton文字居左显示

    题外话:时间依然过的非常快.不知不觉2015年就过去一半了.感觉自己好像没有大的改变.仅仅能感叹时间飞逝,却不能有所收获. 我从来都不是一个安于现状的人,改变自己的想法从未停止过.我想大多数人都跟我有 ...

  3. 如何使用jquery判断一个元素是否含有一个指定的类(class)

    如何使用jquery判断一个元素是否含有一个指定的类(class) 一.总结 一句话总结:可以用hasClass方法(专用)和is方法 1.is(expr|obj|ele|fn)的方法几个参数表示什么 ...

  4. 错误日志写入到本地磁盘(lock 队列)

    今天照常在b站上看看编程:看到有讲错误日志处理的,自己没写过日志,就看看了看: 主要是在讲的时候牵扯到了队列和lock的知识点:这方面知识自己了解的更少,那就记录一下.

  5. Windows学习总结(2)——30+ Windows命令提示符快捷键汇总

    即便你平时经常用到 Windows 命令提示符,可能也会对本文将提到的快捷键数量感到惊讶.其实我们可以使用快捷键来简化命令提示符中的选择操作,或对文本进行重复操作,下面我们会列出完整列表. 大家都知道 ...

  6. 让JavaScript在Visual Studio 2015中编辑得更easy

    微软公布的Visual Studio 2015展示了该公司对于让该开发工具更好的支持主流的开发语言的工作.微软项目经理Jordan Matthiesen已经具体列出了一些具体处理JavaScript开 ...

  7. 每位iOS开发者不容错过的10大有用工具

    内容简单介绍 1.iOS简单介绍 2.iOS开发十大有用工具之开发环境 3.iOS开发十大有用工具之图标设计 4.iOS开发十大有用工具之原型设计 5.iOS开发十大有用工具之演示工具 6.iOS开发 ...

  8. POJ 2828 线段树单点更新 离线搞

    Description Railway tickets were difficult to buy around the Lunar New Year in China, so we must get ...

  9. Apache ZooKeeper Getting Started Guide 翻译

    ZooKeeper 開始向导 開始:用zookeeper协调分布式程序 单例操作 管理zookeeper存储 连接zookeeper 执行zookeeper 以复制模式执行zookeeper 其他优化 ...

  10. js28--适配器模式

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...