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 相关文章推荐
[原创]图片分页查看
Aug 28 Javascript
jquery 弹出登录窗口实现代码
Dec 24 Javascript
HTML DOM的nodeType值介绍
Mar 31 Javascript
按下Enter焦点移至下一个控件的实现js代码
Dec 11 Javascript
Node.js安装教程和NPM包管理器使用详解
Aug 16 Javascript
javascript封装简单实现方法
Aug 11 Javascript
JQuery异步加载PartialView的方法
Jun 07 Javascript
JS声明对象时属性名加引号与不加引号的问题及解决方法
Feb 16 Javascript
js字符串类型String常用操作实例总结
Jul 05 Javascript
jQuery实现聊天对话框
Feb 08 jQuery
vue 解决无法对未定义的值,空值或基元值设置反应属性报错问题
Jul 31 Javascript
Vue 简单实现前端权限控制的示例
Dec 25 Vue.js
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
PHP用GD库生成高质量的缩略图片
2011/03/09 PHP
php 批量替换程序的具体实现代码
2013/10/04 PHP
PHP isset empty函数相关面试题及解析
2020/12/11 PHP
js 页面刷新location.reload和location.replace的区别小结
2009/12/24 Javascript
分享精心挑选的12款优秀jQuery Ajax分页插件和教程
2012/08/09 Javascript
js采用map取到id集合组并且实现点击一行选中一行
2013/12/16 Javascript
Javascript的严格模式strict mode详细介绍
2014/06/06 Javascript
js实现网页随机切换背景图片的方法
2014/11/01 Javascript
javascript获取当前鼠标坐标的方法
2015/01/10 Javascript
浅谈Javascript中Object与Function对象
2015/09/26 Javascript
JS与jQuery遍历Table所有单元格内容的方法
2015/12/07 Javascript
Bootstrap每天必学之按钮(Button)插件
2016/04/25 Javascript
JavaScript reduce和reduceRight详解
2016/10/24 Javascript
javascript判断元素存在和判断元素存在于实时的dom中的方法
2017/01/17 Javascript
深入理解vue-router之keep-alive
2017/08/31 Javascript
typescript配置alias的详细步骤
2020/08/12 Javascript
Vue axios获取token临时令牌封装案例
2020/09/11 Javascript
[48:41]VP vs VG Supermajor小组赛 B组胜者组决赛 BO3 第二场 6.2
2018/06/03 DOTA
python调用java的Webservice示例
2014/03/10 Python
Python Deque 模块使用详解
2014/07/04 Python
Python计算回文数的方法
2015/03/11 Python
详解Python装饰器
2019/03/25 Python
Python logging设置和logger解析
2019/08/28 Python
Python requests HTTP验证登录实现流程
2020/11/05 Python
CSS3 优势以及网页设计师如何使用CSS3技术
2009/07/29 HTML / CSS
如何查看浏览器对html5的支持情况
2020/12/15 HTML / CSS
雅诗兰黛旗下专业男士保养领导品牌:Lab Series
2017/05/15 全球购物
英国婴儿和儿童服装网站:Vertbaudet
2018/04/02 全球购物
LN-CC日本:高端男装和女装的奢侈时尚目的地
2019/09/01 全球购物
C语言编程练习
2012/04/02 面试题
委托书模板
2014/04/04 职场文书
企业员工爱岗敬业演讲稿
2014/08/26 职场文书
考试作弊检讨书
2014/10/21 职场文书
护士自荐信怎么写
2015/03/06 职场文书
班干部学习委员竞选稿
2015/11/20 职场文书
Redis实现短信验证码登录的示例代码
2022/06/14 Redis