amazeui学习笔记--js插件(UI增强2)--按钮交互Button
amazeui学习笔记--js插件(UI增强2)--按钮交互Button
一、总结
1、按钮loading状态:
<button type="button" class="am-btn am-btn-primary btn-loading-example">Submit - Button</button>
<input type="button" class="am-btn am-btn-primary btn-loading-example" value="Submit - Input" /> $('.btn-loading-example').click(function () {
var $btn = $(this)
$btn.button('loading');
setTimeout(function(){
$btn.button('reset');
}, 5000);
});
2、按钮loading状态自定义选项(功能):
可以在元素上添加 data-am-loading 来设置选项:
spinner加载动画图标,适用于支持 CSS3 动画、非input元素,写图标名称即可;loadingText加载时显示的文字, 默认为loading;resetText重置以后的显示的文字,默认为原来的内容。
<button type="button" class="am-btn am-btn-primary btn-loading-example" data-am-loading="{spinner: 'circle-o-notch', loadingText: '加载中...', resetText: '加载过了'}">按钮 - button 元素</button>
<input type="button" class="am-btn am-btn-secondary btn-loading-example" value="按钮 - input 元素" data-am-loading="{loadingText: '努力加载中...'}" />
$('.btn-loading-example').click(function () {
var $btn = $(this)
$btn.button('loading');
setTimeout(function(){
$btn.button('reset');
}, 5000);
});
3、单按钮状态切换:
<button id="doc-single-toggle" type="button" class="am-btn am-btn-primary" data-am-button>切换状态</button> <p>按钮状态:<span id="doc-single-toggle-status" class="am-text-danger">未激活</span></p> <script>
$(function() {
var $toggleButton = $('#doc-single-toggle');
$toggleButton.on('click', function() {
setButtonStatus();
}); function setButtonStatus() {
var status = $toggleButton.hasClass('am-active') ? '未激活' : '激活';
$('#doc-single-toggle-status').text(status);
}
})
</script>
4、默认选中状态: <label> 上添加 am-active 类名 <input> 上添加 checked 属性。
5、单选框:
<div class="am-btn-group doc-js-btn-1" data-am-button>
<label class="am-btn am-btn-primary">
<input type="radio" name="options" value="选项 1" id="option1"> 选项 1
</label>
<label class="am-btn am-btn-primary">
<input type="radio" name="options" value="选项 2" id="option2"> 选项 2
</label>
<label class="am-btn am-btn-primary">
<input type="radio" name="options" value="选项 3" id="option3"> 选项 3
</label>
<label class="am-btn am-btn-primary am-disabled">
<input type="radio" name="options" value="选项 4" id="option4"> 选项 4
</label>
</div>
<script>
// 获取选中的值
$(function() {
var $radios = $('[name="options"]');
$radios.on('change',function() {
console.log('单选框当前选中的是:', $radios.filter(':checked').val());
});
});
</script>
6、复选框:
<div class="am-btn-group" data-am-button>
<label class="am-btn am-btn-primary">
<input type="checkbox" name="doc-js-btn" value="苹果"> 苹果
</label>
<label class="am-btn am-btn-primary">
<input type="checkbox" name="doc-js-btn" value="橘子"> 橘子
</label>
<label class="am-btn am-btn-primary">
<input type="checkbox" name="doc-js-btn" value="香蕉"> 香蕉
</label>
</div>
<script>
$(function() {
var $cb = $('[name="doc-js-btn"]');
$cb.on('change', function() {
var checked = [];
$cb.filter(':checked').each(function() {
checked.push(this.value);
}); console.log('复选框选中的是:', checked.join(' | '));
});
});
</script>
二、按钮交互Button
Button JS 交互
Button 及 Button group 与 JS 交互。
按钮 loading 状态
默认文字
默认的文字为 loading...。
<button type="button" class="am-btn am-btn-primary btn-loading-example">Submit - Button</button>
<input type="button" class="am-btn am-btn-primary btn-loading-example" value="Submit - Input" />
$('.btn-loading-example').click(function () {
var $btn = $(this)
$btn.button('loading');
setTimeout(function(){
$btn.button('reset');
}, 5000);
});
自定义选项
可以在元素上添加 data-am-loading 来设置选项:
spinner加载动画图标,适用于支持 CSS3 动画、非input元素,写图标名称即可;loadingText加载时显示的文字, 默认为loading;resetText重置以后的显示的文字,默认为原来的内容。
<button type="button" class="am-btn am-btn-primary btn-loading-example" data-am-loading="{spinner: 'circle-o-notch', loadingText: '加载中...', resetText: '加载过了'}">按钮 - button 元素</button>
<input type="button" class="am-btn am-btn-secondary btn-loading-example" value="按钮 - input 元素" data-am-loading="{loadingText: '努力加载中...'}" />
$('.btn-loading-example').click(function () {
var $btn = $(this)
$btn.button('loading');
setTimeout(function(){
$btn.button('reset');
}, 5000);
});
单按钮状态切换
按钮状态:未激活
<button id="doc-single-toggle" type="button" class="am-btn am-btn-primary" data-am-button>切换状态</button>
<p>按钮状态:<span id="doc-single-toggle-status" class="am-text-danger">未激活</span></p>
<script>
$(function() {
var $toggleButton = $('#doc-single-toggle');
$toggleButton.on('click', function() {
setButtonStatus();
});
function setButtonStatus() {
var status = $toggleButton.hasClass('am-active') ? '未激活' : '激活';
$('#doc-single-toggle-status').text(status);
}
})
</script>
复选框
注意:由于 FastClick 的原因,触屏设备上使用时需要在 input 上添加 .needsclick,否则无法获取复选框的值。
<div class="am-btn-group" data-am-button>
<label class="am-btn am-btn-primary">
<input type="checkbox" name="doc-js-btn" value="苹果"> 苹果
</label>
<label class="am-btn am-btn-primary">
<input type="checkbox" name="doc-js-btn" value="橘子"> 橘子
</label>
<label class="am-btn am-btn-primary">
<input type="checkbox" name="doc-js-btn" value="香蕉"> 香蕉
</label>
</div>
<script>
$(function() {
var $cb = $('[name="doc-js-btn"]');
$cb.on('change', function() {
var checked = [];
$cb.filter(':checked').each(function() {
checked.push(this.value);
});
console.log('复选框选中的是:', checked.join(' | '));
});
});
</script>
单选框
<div class="am-btn-group doc-js-btn-1" data-am-button>
<label class="am-btn am-btn-primary">
<input type="radio" name="options" value="选项 1" id="option1"> 选项 1
</label>
<label class="am-btn am-btn-primary">
<input type="radio" name="options" value="选项 2" id="option2"> 选项 2
</label>
<label class="am-btn am-btn-primary">
<input type="radio" name="options" value="选项 3" id="option3"> 选项 3
</label>
<label class="am-btn am-btn-primary am-disabled">
<input type="radio" name="options" value="选项 4" id="option4"> 选项 4
</label>
</div>
<script>
// 获取选中的值
$(function() {
var $radios = $('[name="options"]');
$radios.on('change',function() {
console.log('单选框当前选中的是:', $radios.filter(':checked').val());
});
});
</script>
设置默认选中状态
设置默认选中状态涉及两处:
<label>上添加am-active类名(2.7.0+无需添加此类名);<input>上添加checked属性。
<div class="am-btn-group" data-am-button>
<!--默认选中状态设置-->
<label class="am-btn am-btn-primary am-active">
<input type="checkbox" class="needsclick" name="doc-js-btn" value="苹果" checked> 苹果
</label>
<label class="am-btn am-btn-primary">
<input type="checkbox" class="needsclick" name="doc-js-btn" value="橘子"> 橘子
</label>
<label class="am-btn am-btn-primary">
<input type="checkbox" class="needsclick" name="doc-js-btn" value="香蕉"> 香蕉
</label>
</div>
Issue 列表
amazeui学习笔记--js插件(UI增强2)--按钮交互Button的更多相关文章
- 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增强3)--折叠面板Collapse
amazeui学习笔记--js插件(UI增强3)--折叠面板Collapse 一.总结 注意点: 1.data-am-collapse:这个东西就是展开折叠事件 2.am-collapse(包括其下属 ...
- 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 开发者工具中的浏 ...
- amazeui学习笔记一(开始使用2)--布局示例layouts
amazeui学习笔记一(开始使用2)--布局示例layouts 一.总结 1.样例分析(不要忘记,优先分析这个布局示例):有教你页面怎么布局的,实例中可以分析一波 2.响应式:对应meta标签中的v ...
随机推荐
- 參考mudo logging写的win下logging
#pragma once #include <boost/noncopyable.hpp> #include <boost/scoped_ptr.hpp> #include & ...
- 设计模式实例(Lua)笔记之六(Adapter模式)
1.描写叙述 "我"在 2004 年的时候带了一个项目,做一个人力资源管理,该项目是我们总公司发起的项目,公司一共同拥有 700 多号人,包含子公司,这个项目还是比較简单的,分为三 ...
- 大型情感类电视连续剧--Android高德之旅(2)地图类型
总要说两句 今天继续我们的Android高德之旅,上一篇已经能够显示最主要的地图了.有主要的放大缩小功能.还有最后做的点击3D旋转.倾斜视角的效果.今天这篇文章来记录一下高德地图的5种地图类型. (其 ...
- git --- ! [rejected] master -> master (non-fast-forward)
如何解决failed to push some refs to git Administrator@PC-20150110FGWU /K/cocos2d/yc (master) $ git push ...
- 虚拟机中试用windows 8(视频)
虚拟机中试用windows 8(视频) VM7装windows 8基本没戏,建议用正式版vmware8.0,还有Oracle的Virtualbox 也没问题http://www.virtualbox. ...
- DM9000C网卡驱动
目的:通过学习,掌握如何移植.编写DM9000C网卡驱动 一.概述: DM9000是一款高度集成低功耗快速以太网处理器,该芯片集成了MAC和PHY.DM9000可以和CPU直接连接,支持8位.16位和 ...
- 解决Docker容器内访问宿主机MySQL数据库服务器的问题
懒得描述太多,总归是解决了问题,方法简要记录如下,虽然简要,但是完整,一来纪念处理该问题耗费的大半天时间,二来本着共享精神帮助其他遇到该问题的哥们儿,当然这个方法并不一定能解决你们的问题,但是多少能提 ...
- 为ImageView设置背景图片(代码中)
仅仅需三行代码: Resources resources = getBaseContext().getResources(); Drawable imageDrawable = resources.g ...
- 爬虫爬数据时,post数据乱码解决的方法
近期在写一个爬虫,目标站点是:http://zx.bjmemc.com.cn/.可能是为了防止被爬取数据,它给自身数据加了密. 用谷歌自带的抓包工具也不能捕获到数据. 于是下了Fiddler. ...
- 聊聊高并发(二十八)解析java.util.concurrent各个组件(十) 理解ReentrantReadWriteLock可重入读-写锁
这篇讲讲ReentrantReadWriteLock可重入读写锁,它不仅是读写锁的实现,而且支持可重入性. 聊聊高并发(十五)实现一个简单的读-写锁(共享-排他锁) 这篇讲了怎样模拟一个读写锁. 可重 ...