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 相关文章推荐
理解Javascript_05_原型继承原理
Oct 13 Javascript
node.js中的forEach()是同步还是异步呢
Jan 29 Javascript
jquery中animate的stop()方法作用实例分析
Jan 30 Javascript
javascript实现带下拉子菜单的导航菜单效果
May 14 Javascript
js实现3D图片逐张轮播幻灯片特效代码分享
Sep 09 Javascript
js编写当天简单日历效果【实现代码】
May 03 Javascript
再谈Javascript中的基本类型和引用类型(推荐)
Jul 01 Javascript
js+css3制作时钟特效
Oct 16 Javascript
JAVA Web实时消息后台服务器推送技术---GoEasy
Nov 04 Javascript
jquery删除数组中重复元素
Dec 05 Javascript
jQuery实现的页面遮罩层功能示例【测试可用】
Oct 14 jQuery
vue用ant design中table表格,点击某行时触发的事件操作
Oct 28 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 图像处理类1
2009/06/15 PHP
spl_autoload_register与autoload的区别详解
2013/06/03 PHP
探讨PHP JSON中文乱码的解决方法详解
2013/06/06 PHP
php采集文章中的图片获取替换到本地(实现代码)
2013/07/08 PHP
PHP提示Cannot modify header information - headers already sent by解决方法
2014/09/22 PHP
JS 操作符整理[推荐收藏]
2011/11/15 Javascript
Js注册协议倒计时的小例子
2013/06/24 Javascript
javascript预加载图片、css、js的方法示例介绍
2013/10/14 Javascript
jquery教程ajax请求json数据示例
2014/01/13 Javascript
JS实现的一个简单的Autocomplete自动完成例子
2014/04/16 Javascript
JS实现3D图片旋转展示效果代码
2015/09/22 Javascript
jQuery+PHP+MySQL实现无限级联下拉框效果
2016/02/19 Javascript
jQuery Validate插件自定义验证规则的方法
2016/12/27 Javascript
js 判断登录界面的账号密码是否为空
2017/02/08 Javascript
JavaScript实现三级级联特效
2017/11/05 Javascript
node实现的爬虫功能示例
2018/05/04 Javascript
JavaScript格式化json和xml的方法示例
2019/01/22 Javascript
vue轻量级框架无法获取到vue对象解决方法
2019/05/12 Javascript
layui表单提交到后台自动封装到实体类的方法
2019/09/12 Javascript
python中使用百度音乐搜索的api下载指定歌曲的lrc歌词
2014/07/18 Python
Python迭代器定义与简单用法分析
2018/04/30 Python
Tensorflow实现AlexNet卷积神经网络及运算时间评测
2018/05/24 Python
Python tkinter label 更新方法
2018/10/11 Python
Python中垃圾回收和del语句详解
2018/11/15 Python
python实现kNN算法识别手写体数字的示例代码
2019/08/16 Python
pygame实现俄罗斯方块游戏(AI篇2)
2019/10/29 Python
Python箱型图处理离群点的例子
2019/12/09 Python
tensorflow实现训练变量checkpoint的保存与读取
2020/02/10 Python
Pycharm如何自动生成头文件注释
2020/11/14 Python
Nº21官方在线商店:numeroventuno.com
2019/09/26 全球购物
荷兰最大的鞋子、服装和运动折扣店:Bristol
2021/01/07 全球购物
介绍一下Mysql的存储引擎
2015/02/12 面试题
优秀应届毕业生自荐信
2013/11/16 职场文书
2014年师德承诺书
2014/05/23 职场文书
叶问观后感
2015/06/15 职场文书
用python基于appium模块开发一个自动收取能量的小助手
2021/09/25 Python