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 相关文章推荐
jQuery之浮动窗口实现代码(两种方法)
Sep 08 Javascript
jquery 获取标签名(tagName)示例代码
Jul 11 Javascript
replace()方法查找字符使用示例
Oct 28 Javascript
javascript中的作用域和上下文使用简要概述
Dec 05 Javascript
AngularJS基础 ng-if 指令用法
Aug 01 Javascript
jQuery图片切换动画特效
Nov 02 Javascript
Vue 短信验证码组件开发详解
Feb 14 Javascript
详解vuelidate 对于vueJs2.0的验证解决方案
Mar 09 Javascript
js实现日期显示的一些操作(实例讲解)
Jul 27 Javascript
详解Vue中localstorage和sessionstorage的使用
Dec 22 Javascript
vue v-for 点击当前行,获取当前行数据及event当前事件对象的操作
Sep 10 Javascript
Javascript中的解构赋值语法详解
Apr 02 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
选择PHP作为网站开发语言的原因分享
2012/01/03 PHP
CI使用Tank Auth转移数据库导致密码用户错误的解决办法
2014/06/12 PHP
php opendir()列出目录下所有文件的实例代码
2016/10/02 PHP
使用XHProf查找PHP性能瓶颈的实例
2017/12/13 PHP
PHP7 字符串处理机制修改
2021/03/09 PHP
图片之间的切换
2006/06/26 Javascript
JS 有名函数表达式全面解析
2010/03/19 Javascript
修改好的jquery滚动字幕效果实现代码
2011/06/22 Javascript
jquery获取tagName再进行判断
2014/05/29 Javascript
JS的数组迭代方法
2015/02/05 Javascript
JavaScript数组常用方法
2015/03/02 Javascript
jQuery给多个不同元素添加class样式的方法
2015/03/26 Javascript
jqueryMobile 动态添加元素,展示刷新视图的实现方法
2016/05/28 Javascript
Three.js学习之文字形状及自定义形状
2016/08/01 Javascript
基于MVC+EasyUI的web开发框架之使用云打印控件C-Lodop打印页面或套打报关运单信息
2016/08/29 Javascript
jQuery web 组件 后台日历价格、库存设置的代码
2016/10/14 Javascript
JS实现获取图片大小和预览的方法完整实例【兼容IE和其它浏览器】
2017/04/24 Javascript
随机生成10个不重复的0-100的数字(实例讲解)
2017/08/16 Javascript
vue 父组件通过$refs获取子组件的值和方法详解
2019/11/07 Javascript
Python语法快速入门指南
2015/10/12 Python
Python读取视频的两种方法(imageio和cv2)
2018/04/15 Python
python对文件目录的操作方法实例总结
2019/06/24 Python
python调用Matplotlib绘制分布点图
2019/10/18 Python
Python迷宫生成和迷宫破解算法实例
2019/12/24 Python
美国鞋类购物网站:Shiekh Shoes
2016/08/21 全球购物
欧舒丹加拿大官网:L’Occitane加拿大
2017/10/29 全球购物
网络编程中设计并发服务器,使用多进程与多线程,请问有什么区别?
2016/03/27 面试题
linux面试题参考答案(5)
2016/11/05 面试题
酒后驾驶检讨书
2014/01/27 职场文书
公司承诺书格式
2014/05/21 职场文书
坎儿井导游词
2015/02/09 职场文书
事业单位财务人员岗位职责
2015/04/14 职场文书
优秀共产党员事迹材料2016
2016/02/29 职场文书
Python进阶学习之带你探寻Python类的鼻祖-元类
2021/05/08 Python
SpringBoot快速入门详解
2021/07/21 Java/Android
python自动获取微信公众号最新文章的实现代码
2022/07/15 Python