amazeui学习笔记--js插件(UI增强4)--下拉组件Dropdown
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
使用演示
下拉列表
<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'); }); });
Issue 列表
- 在header中使用dropdown样式不对closed
- JS: Dropdown 部分浏览器中收回去的时候闪烁
转载于:https://www.cnblogs.com/Renyi-Fan/p/9014666.html
amazeui学习笔记--js插件(UI增强4)--下拉组件Dropdown相关推荐
- amazeui学习笔记二(进阶开发2)--Web组件简介Web Component
amazeui学习笔记二(进阶开发2)--Web组件简介Web Component 一.总结 1.amaze ui:amaze ui是一个web 组件, 由模板(hbs).样式(LESS).交互(JS ...
- js插件chosen-select后台交互下拉框选择
js插件chosen-select后台交互下拉框选择 $('.chosen-select').chosen(); $(".chosen-search input").bind(&q ...
- amazeui学习笔记--css(布局相关3)--辅助类Utility
amazeui学习笔记--css(布局相关3)--辅助类Utility 一.总结 1.元素清除浮动: 添加 am-cf 这个 class 即可 2.水平滚动: .am-scrollable-horiz ...
- amazeui学习笔记一(开始使用3)--兼容性列表compatibility
amazeui学习笔记一(开始使用3)--兼容性列表compatibility 一.总结 1.不要用ie做前端测试,不要碰ie,尽量用google 浏览器: 按照微软官方的说法,IE 开发者工具中的浏 ...
- amazeui学习笔记--css(HTML元素2)--代码Code
amazeui学习笔记--css(HTML元素2)--代码Code 一.总结 1.行内代码:code标签<code> 2.代码片段:pre标签<pre> 3.限制代码块高度:添 ...
- amazeui学习笔记二(进阶开发4)--JavaScript规范Rules
amazeui学习笔记二(进阶开发4)--JavaScript规范Rules 一.总结 1.注释规范总原则: As short as possible(如无必要,勿增注释):尽量提高代码本身的清晰性. ...
- amazeui学习笔记--css(基本样式)--样式统一Normalize
amazeui学习笔记--css(基本样式)--样式统一Normalize 一.总结 1.统一浏览器默认样式: Amaze UI 也使用了 normalize.css,就是让不同浏览器显示相同的样式 ...
- amazeui学习笔记--css(HTML元素4)--图片image
amazeui学习笔记--css(HTML元素4)--图片image 一.总结 1.响应式图片:随着页面宽度而变化 .am-img-responsive class. <img src=&quo ...
- amazeui学习笔记--css(基本样式3)--文字排版Typography
amazeui学习笔记--css(基本样式3)--文字排版Typography 一.总结 1.字体:amaze默认非 衬线字体(sans-serif) 2.引用块blockquote和定义列表:引用块 ...
- amazeui学习笔记--css(基本样式2)--基础设置Base
amazeui学习笔记--css(基本样式2)--基础设置Base 一.总结 1.盒子模型:外margin,内padding,这里的内外指的边框 2.border-box:Amaze UI 将所有元素 ...
最新文章
- 人工智能算法--KNN算法(C++实现)
- 图解Ollydbg简单逆向操作案例
- html5创建对象的方法,JavaScript面向对象-使用工厂方法和构造函数方法创建对象...
- UVALive 6511 Term Project
- 贪心算法求解背包问题
- 快手:笔试题(版本号比较,平方和为1,合并两个流)
- java jdbc oracle rac_JDBC连接oracle RAC数据库配置
- 七种方法实现单例模式
- 1091.二进制矩阵中的最短路径(力扣leetcode) 博主可答疑该问题
- cad相对坐标快捷键_CAD快捷键及命令大全
- openSUSE-Leap-15.4-DVD-x86_64的日常使用设置
- android 动态表情包,搞笑斗图动态表情包
- reflections歌词翻译_Reflections 歌词
- 【windows】Webstorm2021安装教程
- AE 渲染视频 屏幕闪绿的问题
- 关于if 判断中null为什写前边和在使用equals方法进行判断是为什么要 “1“.equals(str)
- KDD2022推荐系统论文集锦(附pdf下载)
- html期末作业代码网页设计——美食主题(6页) HTML+CSS+JavaScript 学生dreamweaver网页设计作业成品
- 大厂的区块链之路 | 百度开启富场景模式直达宇宙
- 外包员工为什么要往甲方员工发展
热门文章
- MatConvnet工具箱文档翻译理解五
- MatCaffe问题: make matcaffe 'matlab/+caffe/private/caffe_.mexa64' failed
- python 类(1)
- rsr分档matlab,matlab练习程序(dubins曲线)
- python的notebook怎么用_如何通过命令行将IPython Notebook转换为Python文件?
- c++ array容器 传参_C/C++常用技巧及初学者易错点汇总学习
- LeetCode----两数之和
- 生成检测报告在哪_惠检LIMS系统在材料检测行业的应用
- Leetcode452. 用最少数量的箭引爆气球(排序+贪心)
- Leetcode763. 划分字母区间(贪心)