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 相关文章推荐
JS宝典学习笔记(下)
Jan 10 Javascript
IE浏览器打印的页眉页脚设置解决方法
Dec 08 Javascript
ko knockoutjs动态属性绑定技巧应用
Nov 14 Javascript
iframe中子父类窗口调用JS的方法及注意事项
Aug 25 Javascript
整理Javascript基础语法学习笔记
Nov 29 Javascript
Bootstrap标签页(Tab)插件使用方法
Mar 21 Javascript
AngularJS 打开新的标签页实现代码
Sep 07 Javascript
jQuery实现百度图片移入移出内容提示框上下左右移动的效果
Jun 05 jQuery
JS实现动态生成html table表格的方法分析
Jul 11 Javascript
Js通过AES加密后PHP用Openssl解密的方法
Jul 12 Javascript
原生javascript中this几种常见用法总结
Feb 24 Javascript
使用vue实现HTML页面生成图片的方法
Mar 12 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 CURD方法之data方法详解
2014/06/18 PHP
Win10 下安装配置IIS + MySQL + nginx + php7.1.7
2017/08/04 PHP
php 实现银联商务H5支付的示例代码
2019/10/12 PHP
漂亮的thinkphp 跳转页封装示例
2019/10/16 PHP
基于jquery的表头固定的若干方法
2011/01/27 Javascript
jquery formValidator插件ajax验证 内容不做任何修改再离开提示错误的bug解决方法
2013/01/04 Javascript
JS关键字变色实现思路及代码
2013/02/21 Javascript
JavaScript判断密码强度(自写代码)
2013/09/06 Javascript
js 事件截取enter按键页面提交事件示例代码
2014/03/04 Javascript
总结AngularJS开发者最常犯的十个错误
2016/08/31 Javascript
vue mounted组件的使用
2018/06/18 Javascript
深入理解JavaScript 中的匿名函数((function() {})();)与变量的作用域
2018/08/28 Javascript
vue的过滤器filter实例详解
2018/09/17 Javascript
node事件循环和process模块实例分析
2020/02/14 Javascript
viewer.js一个强大的基于jQuery的图像查看插件(支持旋转、缩放)
2020/04/01 jQuery
[07:08]2014DOTA2西雅图国际邀请赛 小组赛7月11日TOPPLAY
2014/07/11 DOTA
python简单的函数定义和用法实例
2015/05/07 Python
python使用nntp读取新闻组内容的方法
2015/05/08 Python
python获取各操作系统硬件信息的方法
2015/06/03 Python
python学习之面向对象【入门初级篇】
2017/01/21 Python
利用python开发app实战的方法
2019/07/09 Python
Django项目创建到启动详解(最全最详细)
2019/09/07 Python
Python实现socket非阻塞通讯功能示例
2019/11/06 Python
python3.x 生成3维随机数组实例
2019/11/28 Python
三个python爬虫项目实例代码
2019/12/28 Python
CSS3实现多背景模拟动态边框的效果
2016/11/08 HTML / CSS
西班牙伏林航空公司:Vueling
2016/08/05 全球购物
英国书籍、CD、DVD和游戏的第一道德零售商:Awesome Books
2020/02/22 全球购物
四群教育工作实施方案
2014/03/26 职场文书
党的群众路线教育实践活动公开承诺书
2014/03/28 职场文书
工作证明格式及范本
2014/09/12 职场文书
小班下学期幼儿评语
2014/12/30 职场文书
警示教育观后感
2015/06/17 职场文书
十二月早安励志心语大全
2019/12/03 职场文书
python基础之函数的定义和调用
2021/10/24 Python
vue route新窗口跳转页面并且携带与接收参数
2022/04/10 Vue.js