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实例教程(19) 使用HoTMetal(4)
Dec 23 Javascript
jQuery :nth-child前有无空格的区别分析
Jul 11 Javascript
一个封装js代码-----展开收起效果示例
Jul 03 Javascript
利用jQuery实现可输入搜索文字的下拉框
Oct 23 Javascript
JS父页面与子页面相互传值方法
Mar 05 Javascript
用模版生成HTML的的框架jquery.tmpl使用详解
Jan 07 Javascript
AngularJS入门教程之数据绑定原理详解
Nov 02 Javascript
javascript中对象的定义、使用以及对象和原型链操作小结
Dec 14 Javascript
javascript 日期相减-在线教程(附代码)
Aug 17 Javascript
最新Javascript程序员面试试题和解题方法
Nov 23 Javascript
js基础之事件捕获与冒泡原理
Oct 09 Javascript
Vue 实例中使用$refs的注意事项
Jan 29 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数据访问之查询关键字
2016/05/09 PHP
php分页原理 分页代码 分页类制作教程
2016/09/23 PHP
php和nginx交互实例讲解
2019/09/24 PHP
laravel框架中控制器的创建和使用方法分析
2019/11/23 PHP
javascript之可拖动的iframe效果代码
2008/08/01 Javascript
javaScript年份下拉列表框内容为当前年份及前后50年
2014/05/28 Javascript
完美兼容各大浏览器获取HTTP_REFERER方法总结
2014/06/24 Javascript
javascript获取元素偏移量的方法有哪些
2014/06/24 Javascript
JavaScript设计模式之外观模式实例
2014/10/10 Javascript
使用javascript实现判断当前浏览器
2015/04/14 Javascript
javascript生成大小写字母
2015/07/03 Javascript
JS实现获取来自百度,Google,soso,sogou关键词的方法
2016/12/21 Javascript
JavaScript中localStorage对象存储方式实例分析
2017/01/12 Javascript
Node.js中 __dirname 的使用介绍
2017/06/19 Javascript
深入koa-bodyparser原理解析
2019/01/16 Javascript
可能被忽略的一些JavaScript数组方法细节
2019/02/28 Javascript
vue图片加载失败时用默认图片替换的方法
2019/08/29 Javascript
用原生JS实现爱奇艺首页导航栏代码实例
2019/09/19 Javascript
详解JavaScript 作用域
2020/07/14 Javascript
Python类的继承和多态代码详解
2017/12/27 Python
python实现排序算法解析
2018/09/08 Python
python实现微信小程序自动回复
2018/09/10 Python
浅谈numpy生成数组的零值问题
2018/11/12 Python
浅谈Python采集网页时正则表达式匹配换行符的问题
2018/12/20 Python
Python跳出多重循环的方法示例
2019/07/03 Python
Python操作SQLite/MySQL/LMDB数据库的方法
2019/11/07 Python
使用Python制作缩放自如的圣诞老人(圣诞树)
2019/12/25 Python
关于tf.reverse_sequence()简述
2020/01/20 Python
python实现斗地主分牌洗牌
2020/06/22 Python
python Cartopy的基础使用详解
2020/11/01 Python
分享一个页面平滑滚动小技巧(推荐)
2019/10/23 HTML / CSS
写一个函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度
2015/11/18 面试题
教师学期个人总结
2015/02/11 职场文书
基督教追悼会答谢词
2015/09/29 职场文书
《7的乘法口诀》教学反思
2016/02/18 职场文书
Nginx配置80端口访问8080及项目名地址方法解析
2021/03/31 Servers