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

正文
首先介绍下与本文相关的概念 $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 。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如有疑问大家可以留言交流,谢谢大家对我们的支持。
相关推荐
-
Angular.js实现获取验证码倒计时60秒按钮的简单方法
前言 本文主要介绍了关于Angular.js实现获取验证码倒计时60秒按钮的相关内容,关于这个功能相信不用多介绍,大家都不陌生,所以下面话不多说了,来一起看看实现的方法吧. 一.controller中代码 angular.module('controllers') .controller('LoginCtrl', function ($scope, $location,$ionicLoading,$rootScope,$interval,$timeout) { $scope.timer = fa
-
ionic+AngularJs实现获取验证码倒计时按钮
按钮功能为:点击"获取验证码"--按钮不可用-设置倒计时-60秒后重新获取. 主要实现原理:点击后,设置一个$interval,每一秒更改一次剩余时间,并依赖Angular数据绑定实时显示在页面中.设置一个$timeout,60秒后将按钮初始化到可用状态. 实现代码: (1)js代码,设置成一个directive以便多次调用. angular.module('winwin').directive('timerbutton', function($timeout, $interval){
-
AngularJS 验证码60秒倒计时功能的实现
最近在做AngularJS 项目,这是写的一个60秒倒计时, angularjs 与jq不同, 不是使用dom节点操作,而是数据操作,写倒计时,最好是使用$timeout与$interval ,不要使用settimeout与setinterval .$timeout与$interval 可使绑定数据直接更新. html <a href="javascript:" rel="external nofollow" ng-click="sendphone
-
Ionic + Angular.js实现验证码倒计时功能的方法
前言 之前跟大家分享了关于 Android 原生实现验证码倒计时,地址是这里,现在公司使用 Ionic 开发的 App 也要实现类似的功能,现在也记录下来,供大家参考: 效果图: 正文 首先介绍下与本文相关的概念 $interval $interval 是 window.setInterval 的 Angular 包装形式,函数如果在没有被取消的时候会无限执行.(取消使用 cancel(promise) ) 用法: $interval(fn,delay,[count],[invokeApply]
-
Ionic + Angular.js实现图片轮播的方法示例
本文主要给大家介绍了关于Ionic + Angular实现图片轮播的相关资料,分享出来供大家参考学习,需要的朋友们下面来一起看看吧. 先来看看实现的效果图: 方法示例: template文件夹新建slider.html <ion-view view-title="图片轮播"> <ion-content class="padding" scroll="false"> <ion-slides class="sl
-
Ionic学习日记实现验证码倒计时
前言 要做一个app的话,肯定会涉及到这个功能,所以就从网上找了许多前辈的资料,找到了一个最适合自己并且方便理解的实现此功能,写此日记方便未来自己复习和其他人学习 思路 在用户注册的时候,时下不少app都选择了绑定手机号注册,这是一个非常好的想法,便捷用户操作,也很方便遵循实名制的问题,在设计按钮的时候,需要让他显示在输入验证码的旁边,并在用户点击后,开始倒计时,并将按钮变成无法点击效果 点击前 点击后 在本篇日记中只涉及到1个page下的文件,包括html.ts和scss(我的页面名为reg,
-
JS短信验证码倒计时功能的实现(没有验证码,只有倒计时)
1.功能描述 当用户想要获取验证码时,就点击 免费获取验证码 ,然后开始倒计时,倒计时期间按钮文字为剩余时间x秒,且不可按状态,倒计时结束后,按钮更改为点击重新发送. 2.分析 必须用到定时器.按钮点击后,在定时器内做出判断.倒计时60秒,到0结束. 3.代码实现: 重点介绍:定时器在进行下一次倒计时之前,一定要清除一下,这样的话保证下一次定时器倒计时是正常的. <!DOCTYPE html> <html> <head> <meta charset="U
-
JS 实现获取验证码 倒计时功能
setInterval 一个定时器搞定 <style> button{ background: #45BCF9; color: #fff; padding: 4px 10px; border: none; outline: none; cursor: pointer; } button:hover{ background: #00a8fe; } button.disabled{ background: #000; cursor: auto; } button.disabled:hover{ b
-
微信小程序项目实践之验证码倒计时功能
效果如下:点击发送验证码按钮,按钮背景变色,不可点击,显示倒计时文字 首先js文件的data里面 声明一个变量用于表示当前是否可以点击,codeIsCanClick = true, 默认是可以点击的 写下界面代码: wxml文件中 <view class='centerRow'> <view class='inputLabel'>动态码:</view> <input class='inputStyle' style="flex:1 " bin
-
IOS实现验证码倒计时功能(一)
验证码倒计时按钮的应用是非常普遍的,该Blog就和你一起来写一个IDCountDownButton来实现验证码倒计时的效果.你可以想使用普通的UIButton类型按钮一样,只需要设置其倒计时时长(若未设置,默认为60秒),就可以轻松的实现点击countDownButton开始倒计时,倒计时结束方可重新点击. 一.实现效果 如图 二.实现思路 1.自定义一个IDCountDownButton,重写 beginTrackingWithTouch:withEvent: 拦截button的点击事件,根据
-
swift 3.0 实现短信验证码倒计时功能
下面一段代码给大家分享swift 3.0 实现短信验证码倒计时功能,具体实例代码如下所示: class TCCountDown { private var countdownTimer: Timer? var codeBtn = UIButton() private var remainingSeconds: Int = 0 { willSet { codeBtn.setTitle("重新获取\(newValue)秒", for: .normal) if newValue <=
-
Android实现获取验证码倒计时功能
本文实例为大家分享了android获取验证码倒计时功能的具体代码,供大家参考,具体内容如下 获取验证码倒计时在现在的App中非常常见,他主要的功能点就是给TextView设置一个点击事件,但是当点击后或出现倒计时,在倒计时的时候点击是触发不了点击事件的. 等倒计时结束显示重新获取验证码的时候可以重新触发点击事件: 在真实的项目中一般都是设置一分钟,咱们这里就不设置那么长了,设置10秒: 首先说下我这个demo非常简单,工具类不用管,直接复制到项目中,只需要两步两行代码即可: 第一步:初始化工具类
-
android实现一个图片验证码倒计时功能
1.如图所示,要实现一个验证码的倒计时的效果 2.实现 图中获取验证码那块是一个button按钮 关键部分,声明一个TimeCount,继承自CountDownTimer /*验证码倒计时*/ private class TimeCount extends CountDownTimer{ /** * @param millisInFuture 总时间长度(毫秒) * @param countDownInterval 时间间隔(毫秒),每经过一次时间间隔都会调用onTick方法
随机推荐
- 完美解决UI-Grid表格元素中多个空格显示为一个空格的问题
- 如何显示随机信息?
- 通过短信发送LOG归类号码发送情况的shell脚本
- jquery+javascript编写国籍控件
- Angular工具方法学习
- 使用Lucene实现一个简单的布尔搜索功能
- Ajax 验证用户输入的验证码是否与随机生成的一致
- 对python中return和print的一些理解
- ASP.NET实现级联下拉框效果实例讲解
- JS实现光滑展开合拢的菜单效果代码
- JavaScript监听文本框回车事件并过滤文本框空格的方法
- 非常强大的 jQuery.AsyncBox 弹出对话框插件
- 原生js实现shift/ctrl/alt按键的获取
- jQuery 操作下拉列表框实现代码
- java文件操作之java写文件简单示例
- js去除重复字符串两种实现方法
- 全面解读PHP的Yii框架中的日志功能
- 浅谈JAVA工作流的优雅实现方式
- vue-cli3.0使用及部分配置详解
- jQuery实现的简单日历组件定义与用法示例
