amazeui学习笔记--js插件(UI增强4)--下拉组件Dropdown

一、总结

1、am-dropdown(及其孩子):控制下拉列表的样式

2、data-am-dropdown(及其孩子)控制下拉列表的事件,这部分事件当然可以用jquery来代替

3、下拉列表样例

 1 <div class="am-dropdown" data-am-dropdown>
 2   <button class="am-btn am-btn-primary am-dropdown-toggle" data-am-dropdown-toggle>下拉列表 <span class="am-icon-caret-down"></span></button>
 3   <ul class="am-dropdown-content">
 4     <li class="am-dropdown-header">标题</li>
 5     <li><a href="#">快乐的方式不只一种</a></li>
 6     <li class="am-active"><a href="#">最荣幸是</a></li>
 7     <li><a href="#">谁都是造物者的光荣</a></li>
 8     <li class="am-disabled"><a href="#">就站在光明的角落</a></li>
 9     <li class="am-divider"></li>
10     <li><a href="#">天空海阔 要做最坚强的泡沫</a></li>
11   </ul>
12 </div>

am-dropdown样式:am-dropdown am-dropdown-content toggle header

data-am-dropdown事件:data-am-dropdown data-am-dropdown-toggle

二、下拉组件Dropdown

Dropdown


目录

  • 使用演示

    • 下拉列表
    • 上拉列表
    • 下拉内容
    • 宽度适应
  • 调用方式
    • 通过 Data API
    • 通过 JS

使用演示

下拉列表

 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'); }); });

Issue 列表

  • 在header中使用dropdown样式不对closed
  • JS: Dropdown 部分浏览器中收回去的时候闪烁

转载于:https://www.cnblogs.com/Renyi-Fan/p/9014666.html

amazeui学习笔记--js插件(UI增强4)--下拉组件Dropdown相关推荐

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

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

  2. js插件chosen-select后台交互下拉框选择

    js插件chosen-select后台交互下拉框选择 $('.chosen-select').chosen(); $(".chosen-search input").bind(&q ...

  3. amazeui学习笔记--css(布局相关3)--辅助类Utility

    amazeui学习笔记--css(布局相关3)--辅助类Utility 一.总结 1.元素清除浮动: 添加 am-cf 这个 class 即可 2.水平滚动: .am-scrollable-horiz ...

  4. amazeui学习笔记一(开始使用3)--兼容性列表compatibility

    amazeui学习笔记一(开始使用3)--兼容性列表compatibility 一.总结 1.不要用ie做前端测试,不要碰ie,尽量用google 浏览器: 按照微软官方的说法,IE 开发者工具中的浏 ...

  5. amazeui学习笔记--css(HTML元素2)--代码Code

    amazeui学习笔记--css(HTML元素2)--代码Code 一.总结 1.行内代码:code标签<code> 2.代码片段:pre标签<pre> 3.限制代码块高度:添 ...

  6. amazeui学习笔记二(进阶开发4)--JavaScript规范Rules

    amazeui学习笔记二(进阶开发4)--JavaScript规范Rules 一.总结 1.注释规范总原则: As short as possible(如无必要,勿增注释):尽量提高代码本身的清晰性. ...

  7. amazeui学习笔记--css(基本样式)--样式统一Normalize

    amazeui学习笔记--css(基本样式)--样式统一Normalize 一.总结 1.统一浏览器默认样式: Amaze UI 也使用了 normalize.css,就是让不同浏览器显示相同的样式 ...

  8. amazeui学习笔记--css(HTML元素4)--图片image

    amazeui学习笔记--css(HTML元素4)--图片image 一.总结 1.响应式图片:随着页面宽度而变化 .am-img-responsive class. <img src=&quo ...

  9. amazeui学习笔记--css(基本样式3)--文字排版Typography

    amazeui学习笔记--css(基本样式3)--文字排版Typography 一.总结 1.字体:amaze默认非 衬线字体(sans-serif) 2.引用块blockquote和定义列表:引用块 ...

  10. amazeui学习笔记--css(基本样式2)--基础设置Base

    amazeui学习笔记--css(基本样式2)--基础设置Base 一.总结 1.盒子模型:外margin,内padding,这里的内外指的边框 2.border-box:Amaze UI 将所有元素 ...

最新文章

  1. 人工智能算法--KNN算法(C++实现)
  2. 图解Ollydbg简单逆向操作案例
  3. html5创建对象的方法,JavaScript面向对象-使用工厂方法和构造函数方法创建对象...
  4. UVALive 6511 Term Project
  5. 贪心算法求解背包问题
  6. 快手:笔试题(版本号比较,平方和为1,合并两个流)
  7. java jdbc oracle rac_JDBC连接oracle RAC数据库配置
  8. 七种方法实现单例模式
  9. 1091.二进制矩阵中的最短路径(力扣leetcode) 博主可答疑该问题
  10. cad相对坐标快捷键_CAD快捷键及命令大全
  11. openSUSE-Leap-15.4-DVD-x86_64的日常使用设置
  12. android 动态表情包,搞笑斗图动态表情包
  13. reflections歌词翻译_Reflections 歌词
  14. 【windows】Webstorm2021安装教程
  15. AE 渲染视频 屏幕闪绿的问题
  16. 关于if 判断中null为什写前边和在使用equals方法进行判断是为什么要 “1“.equals(str)
  17. KDD2022推荐系统论文集锦(附pdf下载)
  18. html期末作业代码网页设计——美食主题(6页) HTML+CSS+JavaScript 学生dreamweaver网页设计作业成品
  19. 大厂的区块链之路 | 百度开启富场景模式直达宇宙
  20. 外包员工为什么要往甲方员工发展

热门文章

  1. MatConvnet工具箱文档翻译理解五
  2. MatCaffe问题: make matcaffe 'matlab/+caffe/private/caffe_.mexa64' failed
  3. python 类(1)
  4. rsr分档matlab,matlab练习程序(dubins曲线)
  5. python的notebook怎么用_如何通过命令行将IPython Notebook转换为Python文件?
  6. c++ array容器 传参_C/C++常用技巧及初学者易错点汇总学习
  7. LeetCode----两数之和
  8. 生成检测报告在哪_惠检LIMS系统在材料检测行业的应用
  9. Leetcode452. 用最少数量的箭引爆气球(排序+贪心)
  10. Leetcode763. 划分字母区间(贪心)