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中巧用“闭包”实现程序的暂停执行功能
Apr 04 Javascript
JQuery 绑定select标签的onchange事件,弹出选择的值,并实现跳转、传参
Jan 06 Javascript
3分钟写出来的Jquery版checkbox全选反选功能
Oct 23 Javascript
jquery中checkbox全选失效的解决方法
Dec 26 Javascript
javascript中动态函数用法实例分析
May 14 Javascript
jQuery插件Slider Revolution实现响应动画滑动图片切换效果
Jun 05 Javascript
基于OL2实现百度地图ABCD marker的效果
Oct 01 Javascript
JS拖拽组件学习使用
Jan 19 Javascript
js仿百度切换皮肤功能(html+css)
Jul 10 Javascript
基于CSS3和jQuery实现跟随鼠标方位的Hover特效
Jul 25 Javascript
JS基于递归算法实现1,2,3,4,5,6,7,8,9倒序放入数组中的方法
Jan 03 Javascript
vue.js实现图书管理功能
Sep 24 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
Oracle Faq(Oracle的版本)
2006/10/09 PHP
PHP+MYSQL的文章管理系统(二)
2006/10/09 PHP
PHP防注入安全代码
2008/04/09 PHP
php学习之 认清变量的作用范围
2010/01/26 PHP
LotusPhp笔记之:基于ObjectUtil组件的使用分析
2013/05/06 PHP
使用php验证复选框有效性的示例
2013/11/13 PHP
PHP添加Xdebug扩展的方法
2014/02/12 PHP
PHP MVC框架路由学习笔记
2016/03/02 PHP
背景音乐每次刷新都可以自动更换
2007/02/01 Javascript
通过AJAX的JS、JQuery两种方式解析XML示例介绍
2013/09/23 Javascript
Jquery倒计时源码分享
2014/05/16 Javascript
JavaScript Promise启示录
2014/08/12 Javascript
jquery UI Datepicker时间控件的使用及问题解决
2016/04/28 Javascript
利用select实现年月日三级联动的日期选择效果【推荐】
2016/12/13 Javascript
jQuery动态产生select option下拉列表
2017/03/15 Javascript
微信小程序 后台登录(非微信账号)实例详解
2017/03/31 Javascript
解决Angularjs异步操作后台请求用$q.all排列先后顺序问题
2019/11/29 Javascript
python处理文本文件实现生成指定格式文件的方法
2014/07/31 Python
Python3.6实现连接mysql或mariadb的方法分析
2018/05/18 Python
Python中的函数式编程:不可变的数据结构
2018/10/08 Python
python 随机打乱 图片和对应的标签方法
2018/12/14 Python
PyQt5实现让QScrollArea支持鼠标拖动的操作方法
2019/06/19 Python
python中使用ctypes调用so传参设置遇到的问题及解决方法
2019/06/19 Python
Python数据类型之列表和元组的方法实例详解
2019/07/08 Python
html5 css3 动态气泡按钮实例演示
2012/12/02 HTML / CSS
HTML5本地存储和本地数据库实例详解
2017/09/05 HTML / CSS
瑞典最好的运动鞋专卖店:Sneakersnstuff
2016/08/29 全球购物
MyFrenchPharma中文网:最大的法国药妆平台
2016/10/07 全球购物
巴西服装和鞋子购物网站:Marisa
2018/10/25 全球购物
如何安装ruby on rails
2014/02/09 面试题
医药营销专业个人自荐信
2013/09/29 职场文书
园林技术个人的自我评价
2014/01/08 职场文书
2014个人年终工作总结范文
2014/12/15 职场文书
学校社团活动总结
2015/05/07 职场文书
民事撤诉申请书范本
2015/05/18 职场文书
教你做个可爱的css滑动导航条
2021/06/15 HTML / CSS