Ionic + Angular.js实现验证码倒计时功能的方法


Posted in Javascript onJune 12, 2017

前言

之前跟大家分享了关于 Android 原生实现验证码倒计时,地址是这里,现在公司使用 Ionic 开发的 App 也要实现类似的功能,现在也记录下来,供大家参考:

效果图:

Ionic + Angular.js实现验证码倒计时功能的方法

正文

首先介绍下与本文相关的概念 $interval

$interval window.setInterval 的 Angular 包装形式,函数如果在没有被取消的时候会无限执行。(取消使用 cancel(promise) )

用法:

$interval(fn,delay,[count],[invokeApply],[Pass]);

参数说明:

  • fn : 无限执行的函数 必须参数,必传
  • delay : 每次调用的间隔毫秒数值 必须参数,必传
  • count : 循环次数的数值,如果没设置,则无限制循环 非必须参数,可不传
  • invokeApply : 如果设置为false,则避开脏值检查,否则将调用$apply 非必须参数,可不传
  • Pass : 函数的附加参数 非必须参数,可不传

方法:

1、cancel(promise)

      promise:$interval函数的返回值。

具体实现

$scope.description = "获取验证码";

 var timerHandler = null;

 /**
 * 倒计时
 * @param time 控制循环次数
 */
 var countDown = function (second,time) {
 timerHandler = $interval(function () {
  if (second <= 0) {
  $interval.cancel(timerHandler);
  second = 59;
  $scope.description = "获取验证码";
  } else {
  $scope.description = second + "s 后可重发";
  second--;
  }
 }, 1000, time)
 }

调用

countDown(59,60);

最后别忘了注入 $interval

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
jQuery源码分析-03构造jQuery对象-源码结构和核心函数
Nov 14 Javascript
JS原型对象通俗&quot;唱法&quot;
Dec 27 Javascript
js控制div弹出层实现方法
May 11 Javascript
JS中正则表达式只有3种匹配模式(没有单行模式)详解
Jul 28 Javascript
Angular使用ng-messages与PHP进行表单数据验证
Dec 28 Javascript
jquery.uploadView 实现图片预览上传功能
Aug 10 jQuery
Node.js笔记之process模块解读
May 31 Javascript
微信小程序获取用户信息及手机号(后端TP5.0)
Sep 12 Javascript
使用webpack将ES6转化ES5的实现方法
Oct 13 Javascript
vue双击事件2.0事件监听(点击-双击-鼠标事件)和事件修饰符操作
Jul 27 Javascript
在vue中使用el-tab-pane v-show/v-if无效的解决
Aug 03 Javascript
js实现简单的倒计时
Jan 28 Javascript
微信小程序 实现点击添加移除class
Jun 12 #Javascript
JavaScript该如何学习 怎样轻松学习JavaScript
Jun 12 #Javascript
微信小程序实现缓存根据不同的id来进行设置和读取缓存
Jun 12 #Javascript
利用Jasmine对Angular进行单元测试的方法详解
Jun 12 #Javascript
原JS实现banner图的常用功能
Jun 12 #Javascript
手把手搭建安装基于windows的Vue.js运行环境
Jun 12 #Javascript
JS获取鼠标坐标并且根据鼠标位置不同弹出不同内容
Jun 12 #Javascript
You might like
实例(Smarty+FCKeditor新闻系统)
2007/01/02 PHP
php中使用session_set_save_handler()函数把session保存到MySQL数据库实例
2014/11/06 PHP
PHP接收App端发送文件流的方法
2016/09/23 PHP
PHP的PDO预定义常量讲解
2019/01/24 PHP
ajax无刷新动态调用股票信息(改良版)
2008/11/01 Javascript
js 动态添加标签(新增一行,其实很简单,就是几个函数的应用)
2009/03/26 Javascript
JS 判断代码全收集
2009/04/28 Javascript
jQuery 连续列表实现代码
2009/12/21 Javascript
基于JQuery 的消息提示框效果代码
2011/07/31 Javascript
js检测网络是否具体连接功能的代码
2014/05/23 Javascript
动态载入js提高网页打开速度的方法
2014/07/04 Javascript
jQuery设置指定网页元素宽度和高度的方法
2015/03/25 Javascript
JavaScript中用于生成随机数的Math.random()方法
2015/06/15 Javascript
JavaScript File分段上传
2016/03/10 Javascript
AngularJS基于ngInfiniteScroll实现下拉滚动加载的方法
2016/12/14 Javascript
微信小程序 支付功能实现PHP实例详解
2017/05/12 Javascript
VUEJS 2.0 子组件访问/调用父组件的实例
2018/02/10 Javascript
Node.js实现注册邮箱激活功能的方法示例
2018/03/23 Javascript
js原生map实现的方法总结
2020/01/19 Javascript
vue使用原生swiper代码实例
2020/02/05 Javascript
[01:42]辉夜杯战队访谈宣传片—FANTUAN
2015/12/25 DOTA
Python爬取Coursera课程资源的详细过程
2014/11/04 Python
python实现word 2007文档转换为pdf文件
2018/03/15 Python
tensorflow 用矩阵运算替换for循环 用tf.tile而不写for的方法
2018/07/27 Python
python 遍历列表提取下标和值的实例
2018/12/25 Python
Python从list类型、range()序列简单认识类(class)【可迭代】
2019/05/31 Python
在Django下测试与调试REST API的方法详解
2019/08/29 Python
Html5新增标签有哪些
2017/04/13 HTML / CSS
有影响力的品牌之家:Our Social Collective
2019/06/08 全球购物
Boolean b = new Boolean(“abcde”); 会编译错误码
2013/11/27 面试题
大学生毕业自荐信
2013/10/10 职场文书
后勤主管工作职责
2013/12/07 职场文书
社区个人对照检查材料(群众路线)
2014/09/26 职场文书
出售房屋协议书范本
2014/10/06 职场文书
毕业纪念册寄语大全
2015/02/26 职场文书
2019年家电促销广告语集锦
2019/10/21 职场文书