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 相关文章推荐
ExtJs扩展之GroupPropertyGrid代码
Mar 05 Javascript
javascript常用方法、属性集合及NodeList 和 HTMLCollection 的浏览器差异
Dec 25 Javascript
js简单的表格添加行和删除行操作示例
Mar 31 Javascript
浅谈javascript中的闭包
May 13 Javascript
jquery实现拖动效果
Aug 10 Javascript
JavaScript使用forEach()与jQuery使用each遍历数组时return false 的区别
Aug 26 Javascript
微信小程序 判断手机号的实现代码
Apr 19 Javascript
使用javaScript实现鼠标拖拽事件
Apr 03 Javascript
JavaScript 中使用 Generator的方法
Dec 29 Javascript
js拖动滑块和点击水波纹效果实例代码
Oct 16 Javascript
JavaScript设计模式之责任链模式实例分析
Jan 16 Javascript
vue封装可复用组件confirm,并绑定在vue原型上的示例
Oct 31 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
在PHP3中实现SESSION的功能(三)
2006/10/09 PHP
用PHP 快速生成 Flash 动画的方法
2007/03/06 PHP
fleaphp常用方法分页之Pager使用方法
2011/04/23 PHP
PHP的变量类型和作用域详解
2014/03/12 PHP
详解WordPress中用于合成数组的wp_parse_args()函数
2015/12/18 PHP
php实现图片缩略图的方法
2016/03/29 PHP
php分页查询的简单实现代码
2017/03/14 PHP
PHP vsprintf()函数格式化字符串操作原理解析
2020/07/14 PHP
关于PhpStorm设置点击编辑文件自动定位源文件的实现方式
2020/12/30 PHP
jQuery 页面 Mask实现代码
2010/01/09 Javascript
运用jQuery定时器的原理实现banner图片切换
2014/10/22 Javascript
js实现简单的联动菜单效果
2015/08/19 Javascript
详解vee-validate的使用个人小结
2017/06/07 Javascript
浅谈Express异步进化史
2017/09/09 Javascript
基于js中的原型(全面讲解)
2017/09/19 Javascript
快速解决vue-cli不能初始化webpack模板的问题
2018/03/20 Javascript
Vue数据监听方法watch的使用
2018/03/28 Javascript
浅谈在node.js进入文件目录的问题
2018/05/13 Javascript
JavaScript new对象的四个过程实例浅析
2018/07/31 Javascript
javascript使用substring实现的展开与收缩文字功能示例
2019/06/17 Javascript
JavaScript使用canvas绘制随机验证码
2020/02/17 Javascript
[02:56]DOTA2英雄基础教程 巨魔战将
2013/12/10 DOTA
Python中实现从目录中过滤出指定文件类型的文件
2015/02/02 Python
Golang与python线程详解及简单实例
2017/04/27 Python
Python 的类、继承和多态详解
2017/07/16 Python
详解DeBug Python神级工具PySnooper
2019/07/03 Python
基于keras中的回调函数用法说明
2020/06/17 Python
python爬虫判断招聘信息是否存在的实例代码
2020/11/20 Python
python3定位并识别图片验证码实现自动登录功能
2021/01/29 Python
详解HTML5新增标签
2017/11/27 HTML / CSS
Rentalcars.com中国:世界上最大的在线汽车租赁服务
2019/08/22 全球购物
大学自主招生推荐信
2014/05/10 职场文书
大三学年自我鉴定范文(3篇)
2014/09/28 职场文书
群众路线自查报告及整改措施
2014/11/04 职场文书
表扬通报怎么写
2015/01/16 职场文书
2015年禁毒宣传活动总结
2015/03/25 职场文书