uni-app实现获取验证码倒计时功能


Posted in Javascript onNovember 01, 2020

本文实例为大家分享了uni-app实现获取验证码倒计时的具体代码,供大家参考,具体内容如下

实现的效果

uni-app实现获取验证码倒计时功能

uni-app实现获取验证码倒计时功能

uni-app实现获取验证码倒计时功能

页面部分是一个三目运算,codeTime是倒计时的时间。

<template>
 <view>
 <view class="three">
 <view class="get" @tap="getCheckNum()">
 <text>{{!codeTime?'获取验证码':codeTime+'s'}}</text>
 </view>
 <view class="all">
 <view class="left">验证码</view>
 <input v-model="mydata.checkNum" placeholder="请输入验证码"/>
 </view>
 <button class="btn" @tap='sure'>确认</button>
 </view>
 </view>
</template>

具体思路:

三目运算,判断codeTime的值,当为0的时候显示文字“获取验证码”,大于0的时候显示验证码的倒计时。codeTime默认为0.

这里有个问题就是,怎么阻止用户在倒计时还没结束的时候一直点击,影响倒计时。

解决办法是写个判断,当codeTime大于60的时候,弹窗提示用户不能重复获取验证码。当倒计时运行完了之后要清除倒计时。

代码:

<script>
 export default {
 data() {
 return {
  codeTime:0,
 }
 },
  methods: {
   getCheckNum(){
 if(this.codeTime>0){
  uni.showToast({
  title: '不能重复获取',
  icon:"none"
  });
  return;
 }else{
  this.codeTime = 60
  let timer = setInterval(()=>{
  this.codeTime--;
  if(this.codeTime<1){
  clearInterval(timer);
  this.codeTime = 0
  }
  },1000)
    }
   }
  }
}

css样式:

.all{
 margin: 30rpx;
 border-bottom: 2rpx solid #EEEEEE;
 display: flex;
 flex-wrap: nowrap;
}
.left{
 margin-bottom: 30rpx;
 margin-right: 40rpx;
 width: 150rpx;
}
.three{
 background-color: white;
 width: 92%;
 border-radius: 10rpx;
 padding: 20rpx 0;
 margin: 20rpx auto;
 position: relative;
}
.btn{
 background-color: orange;
 font-size: 28rpx;
 width: 160rpx;
 height: 70rpx;
 line-height: 70rpx;
 margin-top: 40rpx;
 color: white;
 font-weight: 600;
}
.get{
 position: absolute;
 top: 40rpx;
 right: 30rpx;
 background-color: orange;
 height: 70rpx;
 line-height: 70rpx;
 color: white;
 border-radius: 10rpx;
 padding: 0 20rpx;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript window.setTimeout() 的详细用法
Nov 04 Javascript
JQuery Tips(3) 关于$()包装集内元素的改变
Dec 14 Javascript
javascript实现的平方米、亩、公顷单位换算小程序
Aug 11 Javascript
JavaScript 中有关数组对象的方法(详解)
Aug 15 Javascript
bootstrap table复杂操作代码
Nov 01 Javascript
bootstrap multiselect 多选功能实现方法
Jun 05 Javascript
用JS编写一个函数,返回数组中重复出现过的元素(实例)
Sep 14 Javascript
使用Vue.js和Flask来构建一个单页的App的示例
Mar 21 Javascript
浅谈js闭包理解
Apr 01 Javascript
AngularJs中$cookies简单用法分析
May 30 Javascript
微信小程序 select 下拉框组件功能
Sep 09 Javascript
Vue 中使用富文本编译器wangEditor3的方法
Sep 26 Javascript
uniapp电商小程序实现订单30分钟倒计时
Nov 01 #Javascript
详解JavaScript之Array.reduce源码解读
Nov 01 #Javascript
微信小程序实现星星评分效果
Nov 01 #Javascript
Express 配置HTML页面访问的实现
Nov 01 #Javascript
ant design vue 表格table 默认勾选几项的操作
Oct 31 #Javascript
浅谈Vue使用Cascader级联选择器数据回显中的坑
Oct 31 #Javascript
Ant design vue中的联动选择取消操作
Oct 31 #Javascript
You might like
thinkPHP的Html模板标签使用方法
2012/11/13 PHP
php 函数使用可变数量的参数方法
2017/05/02 PHP
浅析PHP中的 inet_pton 网络函数
2019/12/16 PHP
php实现对短信验证码发送次数的限制实例讲解
2021/03/04 PHP
JS 常用校验函数
2009/03/26 Javascript
解析window.open的使用方法总结
2013/06/19 Javascript
Ajax异步提交表单数据的说明及方法实例
2013/06/22 Javascript
js跑步算法的实现代码
2013/12/04 Javascript
使用JavaScript和C#中获得referer
2014/11/14 Javascript
angularJS 中$scope方法使用指南
2015/02/09 Javascript
JQueryMiniUI按照时间进行查询的实现方法
2017/06/07 jQuery
JavaScript实现离开页面前提示功能【附jQuery实现方法】
2017/09/26 jQuery
动态加载JavaScript文件的3种方式
2018/05/05 Javascript
vue实现简单的日历效果
2020/09/24 Javascript
详解vue为什么要求组件模板只能有一个根元素
2019/07/22 Javascript
Python的函数的一些高阶特性
2015/04/27 Python
利用pyinstaller或virtualenv将python程序打包详解
2017/03/22 Python
Python并发:多线程与多进程的详解
2019/01/24 Python
详解Django关于StreamingHttpResponse与FileResponse文件下载的最优方法
2021/01/07 Python
用Python制作音乐海报
2021/01/26 Python
英国顶级珠宝品牌之家:John Greed
2018/06/09 全球购物
澳大利亚领先的内衣店:Bendon Lingerie澳大利亚
2020/05/15 全球购物
硅酸盐工业控制专业应届生求职信
2013/11/02 职场文书
关于热爱祖国的演讲稿
2014/05/04 职场文书
建筑安全生产目标责任书
2014/07/23 职场文书
2014最新版群众路线四风整改措施
2014/09/24 职场文书
幼儿教师师德师风自我剖析材料
2014/09/29 职场文书
党的群众路线教育实践活动总结
2014/10/30 职场文书
还款承诺书范本
2015/01/20 职场文书
汽车销售员岗位职责
2015/04/11 职场文书
单位考核鉴定意见
2015/06/05 职场文书
2015年秋季运动会广播稿
2015/08/19 职场文书
2016年优秀共青团员事迹材料
2016/02/25 职场文书
nginx实现发布静态资源的方法
2021/03/31 Servers
mysql联合索引的使用规则
2021/06/23 MySQL
Mysql调整优化之四种分区方式以及组合分区
2022/04/13 MySQL