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 相关文章推荐
javascript smipleChart 简单图标类
Jan 12 Javascript
javascript 实现字符串反转的三种方法
Nov 23 Javascript
Extjs4中的分页应用结合前后台
Dec 13 Javascript
JQuery为页面Dom元素绑定事件及解除绑定方法
Apr 23 Javascript
jQuery垂直多级导航菜单代码分享
Aug 18 Javascript
javascript伸缩型菜单实现代码
Nov 16 Javascript
AngularJS 应用身份认证的技巧总结
Nov 07 Javascript
js canvas仿支付宝芝麻信用分仪表盘
Nov 16 Javascript
js实现小窗口拖拽效果
Dec 03 Javascript
浅谈JavaScript的自动垃圾收集机制
Dec 15 Javascript
如何快速解决JS或Jquery ajax异步跨域的问题
Jan 08 jQuery
vue两组件间值传递 $router.push实现方法
May 15 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
PHP获取当前执行php文件名的代码
2017/03/02 PHP
浅析PHP中的闭包和匿名函数
2017/12/25 PHP
在PHP中实现使用Guzzle执行POST和GET请求
2019/10/15 PHP
javascript之对系统的toFixed()方法的修正
2007/05/08 Javascript
5分钟理解JavaScript中this用法分享
2013/11/09 Javascript
7个JS基础知识总结
2014/03/05 Javascript
JQuery中extend使用介绍
2014/03/13 Javascript
windows8.1+iis8.5下安装node.js开发环境
2014/12/12 Javascript
jquery插件unobtrusive实现片段式加载
2015/06/15 Javascript
javascript中Date()函数在各浏览器中的显示效果
2015/06/18 Javascript
jquery实现多条件筛选特效代码分享
2015/08/28 Javascript
Bootstrap实现弹性搜索框
2016/07/11 Javascript
老生常谈javascript的类型转换
2016/10/12 Javascript
Js动态设置rem来实现移动端字体的自适应代码
2016/10/14 Javascript
详解基于angular路由的requireJs按需加载js
2017/01/20 Javascript
JS简单实现获取元素的封装操作示例
2017/04/07 Javascript
详解vue文件中使用echarts.js的两种方式
2018/10/18 Javascript
layui默认选中table的CheckBox复选框方法
2019/09/19 Javascript
详解Typescript里的This的使用方法
2021/01/08 Javascript
[56:42]VP vs RNG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
Linux 发邮件磁盘空间监控(python)
2016/04/23 Python
在VS2017中用C#调用python脚本的实现
2019/07/31 Python
python 生成器和迭代器的原理解析
2019/10/12 Python
python使用正则来处理各种匹配问题
2019/12/22 Python
python 实现简易的记事本
2020/11/30 Python
利于python脚本编写可视化nmap和masscan的方法
2020/12/29 Python
Pytorch 中的optimizer使用说明
2021/03/03 Python
Vrbo西班牙:预订您的度假公寓(公寓、乡村房屋…)
2020/04/27 全球购物
资料员岗位职责
2013/11/17 职场文书
大二法学专业职业生涯规划范文
2014/02/12 职场文书
民主生活会批评与自我批评总结
2014/10/17 职场文书
人身损害赔偿协议书格式
2014/11/01 职场文书
2015年乡镇卫生院妇幼保健工作总结
2015/05/19 职场文书
2016年“11.11”光棍节活动总结
2016/04/05 职场文书
nginx实现发布静态资源的方法
2021/03/31 Servers
用 Python 定义 Schema 并生成 Parquet 文件详情
2021/09/25 Python