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 ui dialog里调用datepicker的问题
Aug 06 Javascript
javascript获得服务器端控件的ID的实现代码
Dec 28 Javascript
jquery简单实现外部链接用新窗口打开的方法
May 30 Javascript
跟我学习javascript的执行上下文
Nov 18 Javascript
JS加载器如何动态加载外部js文件
May 26 Javascript
js获取客户端操作系统类型的方法【测试可用】
May 27 Javascript
JS实现屏蔽网页右键复制及ctrl+c复制的方法【2种方法】
Sep 04 Javascript
Node.js获取前端ajax提交的request信息
Feb 20 Javascript
Angular4编程之表单响应功能示例
Dec 13 Javascript
关于node-bindings无法在Electron中使用的解决办法
Dec 18 Javascript
JS扁平化输出数组的2种方法解析
Sep 17 Javascript
vue 点击其他区域关闭自定义div操作
Jul 17 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
rrmdir php中递归删除目录及目录下的文件
2011/05/15 PHP
PHP session会话的安全性分析
2011/09/08 PHP
对PHP PDO的一些认识小结
2015/01/23 PHP
非常有用的9个PHP代码片段
2016/04/06 PHP
php 在字符串指定位置插入新字符的简单实现
2016/06/28 PHP
Laravel实现短信注册的示例代码
2018/05/29 PHP
jquery实现滑屏大图定时收缩为小banner图片的广告代码
2015/09/02 Javascript
简单实现兼容各大浏览器的js复制内容到剪切板
2015/09/09 Javascript
JS实现的仿QQ空间图片弹出效果代码
2016/02/23 Javascript
浅谈js的html元素的父节点,子节点
2016/08/06 Javascript
jQuery搜索框效果实现代码(百度关键词联想)
2021/02/25 Javascript
js编写三级联动简单案例
2016/12/21 Javascript
jQuery插件HighCharts实现的2D对数饼图效果示例【附demo源码下载】
2017/03/09 Javascript
JavaScript的数据类型转换原则(干货)
2018/03/15 Javascript
详解JavaScript 中 if / if...else...替换方式
2018/07/15 Javascript
取消Bootstrap的dropdown-menu点击默认关闭事件方法
2018/08/10 Javascript
vue中选项卡点击切换且能滑动切换功能的实现代码
2018/11/25 Javascript
浅谈小程序 setData学问多
2019/02/20 Javascript
Vue实现腾讯云点播视频上传功能的实现代码
2020/08/17 Javascript
Python的高级Git库 Gittle
2014/09/22 Python
python中sets模块的用法实例
2014/09/30 Python
详解Python中列表和元祖的使用方法
2015/04/25 Python
详解Python 模拟实现生产者消费者模式的实例
2017/08/10 Python
Python实现读取json文件到excel表
2017/11/18 Python
python清理子进程机制剖析
2017/11/23 Python
python实现简单flappy bird
2018/12/24 Python
如何用Python和JS实现的Web SSH工具
2021/02/23 Python
英国床垫在线:Mattress Online
2016/12/07 全球购物
毕业生个人求职的自我评价
2013/10/28 职场文书
社团2014年植树节活动总结
2014/03/11 职场文书
家长写给孩子的评语
2014/04/18 职场文书
医学生求职信
2014/07/01 职场文书
高校师德师风自我剖析材料
2014/09/29 职场文书
小学生成绩单评语
2014/12/31 职场文书
2015年乡镇信访工作总结
2015/04/07 职场文书
2016大学迎新欢迎词
2015/09/29 职场文书