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 自定义事件初探
Aug 21 Javascript
jquery鼠标滑过提示title具体实现代码
Aug 06 Javascript
将form表单中的元素转换成对象的方法适用表单提交
May 02 Javascript
jquery 为a标签绑定click事件示例代码
Jun 23 Javascript
Firefox下无法正常显示年份的解决方法
Sep 04 Javascript
关于网页中的无缝滚动的js代码
Jun 09 Javascript
JS实现仿PS的调色板效果完整实例
Dec 21 Javascript
vue axios 给生产环境和发布环境配置不同的接口地址(推荐)
May 08 Javascript
解决layer弹出层中表单不起作用的问题
Sep 09 Javascript
Vue.js的模板语法详解
Feb 16 Javascript
JavaScript点击按钮生成4位随机验证码
Jan 28 Javascript
Vue中避免滥用this去读取data中数据
Mar 02 Vue.js
微信小程序 实现点击添加移除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 safe_mode 失效漏洞
2006/10/09 PHP
数据库中排序的对比及使用条件详解
2012/02/23 PHP
非常全面的php日期时间运算汇总
2015/11/04 PHP
php如何控制用户对图片的访问 PHP禁止图片盗链
2016/03/25 PHP
mysql desc(DESCRIBE)命令实例讲解
2016/09/24 PHP
PHPExcel中文帮助手册|PHPExcel使用方法(分享)
2017/06/09 PHP
用javascript实现的激活输入框后隐藏初始内容
2007/06/29 Javascript
javascript textarea光标定位方法(兼容IE和FF)
2011/03/12 Javascript
jquery easyui滚动条部分设置介绍
2013/09/12 Javascript
jquery浏览器滚动加载技术实现方案
2014/06/03 Javascript
谈谈AngularJs中的隐藏和显示
2015/12/09 Javascript
js中使用使用原型(prototype)定义方法的好处详解
2016/07/04 Javascript
纯js实现悬浮按钮组件
2016/12/17 Javascript
详解vue事件对象、冒泡、阻止默认行为
2017/03/20 Javascript
原生JS实现层叠轮播图
2017/05/17 Javascript
javascript 中事件冒泡和事件捕获机制的详解
2017/09/01 Javascript
微信小程序中button组件的边框设置的实例详解
2017/09/27 Javascript
vue.js template模板的使用(仿饿了么布局)
2018/08/13 Javascript
Vue+Element-UI实现上传图片并压缩
2019/11/26 Javascript
Python实现拼接多张图片的方法
2014/12/01 Python
Python中的默认参数详解
2015/06/24 Python
python实现简单中文词频统计示例
2017/11/08 Python
python文本数据相似度的度量
2018/03/12 Python
利用python实现冒泡排序算法实例代码
2019/12/01 Python
如何理解Python中的变量
2020/06/01 Python
Python中return函数返回值实例用法
2020/11/19 Python
理肤泉美国官网:La Roche-Posay
2018/01/17 全球购物
Lookfantastic香港官网:英国知名美妆购物网站
2018/06/19 全球购物
广州地球村科技数据库题目
2016/04/25 面试题
技能比赛获奖感言
2014/02/14 职场文书
付款委托书范本
2014/04/04 职场文书
2014年实习班主任工作总结
2014/11/08 职场文书
贷款收入证明格式
2015/06/24 职场文书
志愿服务心得体会
2016/01/15 职场文书
HTML基础详解(下)
2021/10/16 HTML / CSS
使用CSS实现音波加载效果
2023/05/07 HTML / CSS