ionic+AngularJs实现获取验证码倒计时按钮


Posted in Javascript onApril 22, 2017

按钮功能为:点击“获取验证码”——按钮不可用-设置倒计时-60秒后重新获取。

主要实现原理:点击后,设置一个$interval,每一秒更改一次剩余时间,并依赖Angular数据绑定实时显示在页面中。设置一个$timeout,60秒后将按钮初始化到可用状态。

实现代码:

(1)js代码,设置成一个directive以便多次调用。

angular.module('winwin').directive('timerbutton', function($timeout, $interval){
  return {
    restrict: 'AE',
    scope: {
      showTimer: '=',
      timeout: '='
    },
    link: function(scope, element, attrs){
      scope.timer = false;
      scope.timeout = 60000;
      scope.timerCount = scope.timeout / 1000;
      scope.text = "获取验证码";

      scope.onClick = function(){
        scope.showTimer = true;
        scope.timer = true;
        scope.text = "秒后重新获取";
        var counter = $interval(function(){
          scope.timerCount = scope.timerCount - 1;
        }, 1000);

        $timeout(function(){
          scope.text = "获取验证码";
          scope.timer = false;
          $interval.cancel(counter);
          scope.showTimer = false;
          scope.timerCount = scope.timeout / 1000;
        }, scope.timeout);
      }
    },
    template: '<button on-tap="onClick()" class="button button-calm xgmm-btn" ng-disabled="timer"><span ng-if="showTimer">{{ timerCount }}</span>{{text}}</button>'
  };
});

(2)html代码

<timerbutton show-timer="false">获取验证码</timerbutton>

实现效果:

(1)点击之前

ionic+AngularJs实现获取验证码倒计时按钮

(2)点击之后

ionic+AngularJs实现获取验证码倒计时按钮 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
写的htc的数据表格
Jan 20 Javascript
3种不同方式的焦点图轮播特效分享
Oct 30 Javascript
JQuery EasyUI 加载两次url的原因分析及解决方案
Aug 18 Javascript
window.location 对象所包含的属性
Oct 10 Javascript
JavaScript学习笔记之Function对象
Jan 22 Javascript
jquery获得当前html页面源码的方法
Jul 14 Javascript
JS+CSS实现六级网站导航主菜单效果
Sep 28 Javascript
vue-router路由简单案例介绍
Feb 21 Javascript
Node实战之不同环境下配置文件使用教程
Jan 02 Javascript
解决使用Vue.js显示数据的时,页面闪现原始代码的问题
Feb 11 Javascript
jQuery事件绑定和解绑、事件冒泡与阻止事件冒泡及弹出应用示例
May 13 jQuery
在Express中提供静态文件的实现方法
Oct 17 Javascript
移动端使用localResizeIMG4压缩图片
Apr 22 #Javascript
使用Xcache缓存器加速PHP网站的配置方法
Apr 22 #Javascript
AngularJS的脏检查深入分析
Apr 22 #Javascript
在node中如何使用 ES6
Apr 22 #Javascript
JS实现异步上传压缩图片
Apr 22 #Javascript
vue 和vue-touch 实现移动端左右导航效果(仿京东移动站导航)
Apr 22 #Javascript
Vue form 表单提交+ajax异步请求+分页效果
Apr 22 #Javascript
You might like
PHP生成随机用户名和密码的实现代码
2013/02/27 PHP
理解PHP中的stdClass类
2014/04/18 PHP
php延迟静态绑定实例分析
2015/02/08 PHP
php简单创建zip压缩文件的方法
2016/04/30 PHP
php mysql PDO 查询操作的实例详解
2017/09/23 PHP
PHP 实现人民币小写转换成大写的方法及大小写转换函数
2017/11/17 PHP
实现php删除链表中重复的结点
2018/09/27 PHP
浅谈PHP之ThinkPHP框架使用详解
2020/07/21 PHP
在Javascript中定义对象类别
2006/12/22 Javascript
{}与function(){}选用空对象{}来存放keyValue
2012/05/23 Javascript
jquery 动态创建元素的方式介绍及应用
2013/04/21 Javascript
JS判断不能为空实例代码
2013/11/26 Javascript
js实现的GridView即表头固定表体有滚动条且可滚动
2014/02/19 Javascript
利用Keydown事件阻止用户输入实现代码
2014/03/11 Javascript
Bootstrap按钮组件详解
2016/04/26 Javascript
js实现移动端轮播图效果
2020/12/09 Javascript
微信小程序商品详情页规格属性选择示例代码
2017/10/30 Javascript
浅谈React中的元素、组件、实例和节点
2018/02/27 Javascript
angular2模块和共享模块详解
2018/04/08 Javascript
在vue 中使用 less的教程详解
2018/09/26 Javascript
深入浅析Node.js 事件循环、定时器和process.nextTick()
2018/10/22 Javascript
javascript实现的图片预览和上传功能示例【兼容IE 9】
2020/05/01 Javascript
Bootstrap FileInput实现图片上传功能
2021/01/28 Javascript
解决谷歌搜索技术文章时打不开网页问题的python脚本
2013/02/10 Python
TF-IDF与余弦相似性的应用(二) 找出相似文章
2017/12/21 Python
python+pyqt5实现KFC点餐收银系统
2019/01/24 Python
获取python运行输出的数据并解析存为dataFrame实例
2020/07/07 Python
Python全局变量与global关键字常见错误解决方案
2020/10/05 Python
意大利制造的男鞋和女鞋:SCAROSSO
2018/03/07 全球购物
雷朋巴西官方商店:Ray-Ban Brasil
2020/07/21 全球购物
挑战杯创业计划书的写作指南
2014/01/07 职场文书
幼儿园教育教学反思
2014/01/31 职场文书
婚礼主持词
2014/03/13 职场文书
十八大宣传标语
2014/10/09 职场文书
分居协议书范本(律师见证版)
2014/11/26 职场文书
民主评议党员个人总结
2015/02/13 职场文书