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框架(Javascript Framework)
Nov 22 Javascript
JavaScript异步加载浅析
Dec 28 Javascript
3个可以改善用户体验的AngularJS指令介绍
Jun 18 Javascript
jQuery EasyUi实战教程之布局篇
Jan 26 Javascript
10个JavaScript中易犯小错误
Feb 14 Javascript
js表单处理中单选、多选、选择框值的获取及表单的序列化
Mar 08 Javascript
window.open打开窗口被拦截的快速解决方法
Aug 04 Javascript
javaScript如何跳出多重循环break、continue
Sep 01 Javascript
JavaScript中的工厂函数(推荐)
Mar 08 Javascript
微信小程序 设置启动页面的两种方法
Mar 09 Javascript
jQuery日程管理控件glDatePicker用法详解
Mar 29 jQuery
Vue使用vue-area-linkage实现地址三级联动效果的示例
Jun 27 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 实现简单的登录功能示例【基于thinkPHP框架】
2019/12/02 PHP
兼容IE/Firefox/Opera/Safari的检测页面装载完毕的脚本Ext.onReady的实现
2009/07/14 Javascript
jquery dialog键盘事件代码
2010/08/01 Javascript
JQuery 拾色器插件发布-jquery.icolor.js
2010/10/20 Javascript
js优化针对IE6.0起作用(详细整理)
2012/12/25 Javascript
深入理解javascript动态插入技术
2013/11/12 Javascript
js全选按钮的实现方法
2015/11/17 Javascript
基于MVC方式实现三级联动(JavaScript)
2017/01/23 Javascript
javascript图片预览和上传(兼容IE)
2017/03/15 Javascript
JS简单获取日期相差天数的方法
2017/04/24 Javascript
JavaScript数据结构学习之数组、栈与队列
2017/05/02 Javascript
vue引入新版 vue-awesome-swiper插件填坑问题
2018/01/25 Javascript
关于JavaScript中高阶函数的魅力详解
2018/09/07 Javascript
vue实现动态列表点击各行换色的方法
2018/09/13 Javascript
vue 解决异步数据更新问题
2019/10/29 Javascript
JavaScript React如何修改默认端口号方法详解
2020/07/28 Javascript
python使用datetime模块计算各种时间间隔的方法
2015/03/24 Python
python根据开头和结尾字符串获取中间字符串的方法
2015/03/26 Python
使用Python的判断语句模拟三目运算
2015/04/24 Python
基于python list对象中嵌套元组使用sort时的排序方法
2018/04/18 Python
对django中foreignkey的简单使用详解
2019/07/28 Python
通俗讲解python 装饰器
2020/09/07 Python
Ubuntu配置Pytorch on Graph (PoG)环境过程图解
2020/11/19 Python
Python实现粒子群算法的示例
2021/02/14 Python
马来西亚最大的电器网站:Senheng
2017/10/13 全球购物
GetYourGuide台湾:预订旅游活动、景点和旅游项目
2019/06/10 全球购物
计算机毕业大学生推荐信
2013/12/01 职场文书
父亲追悼会答谢词
2014/01/17 职场文书
通信研究生自荐信
2014/02/01 职场文书
个人安全生产承诺书
2014/05/22 职场文书
简易版租房协议书范本
2014/10/13 职场文书
街道社区活动报告
2015/02/05 职场文书
检讨书格式范文
2015/05/07 职场文书
Python 实现定积分与二重定积分的操作
2021/05/26 Python
浅谈MySQL中的六种日志
2022/03/23 MySQL
Win2008系统搭建DHCP服务器
2022/06/25 Servers