vue获取验证码倒计时组件


Posted in Javascript onAugust 26, 2019

本文实例为大家分享了vue获取验证码倒计时组件,供大家参考,具体内容如下

之前写过一个计时函数,有计算误差,但是验证码的60秒倒计时可以忽略这一点点误差。直接上代码。

vue获取验证码倒计时组件

<template>
 <div class="captcha-row">
 <input class="captcha-input" placeholder="输入验证码" auto-focus />
 <div v-if="showtime===null" class="captcha-button" @click="send">
  获取验证码
 </div>
 <div v-else class="captcha-button">
  {{showtime}}
 </div>
 </div>
</template>
<script>
export default {
 data() {
 return {
  // 计时器,注意需要进行销毁
  timeCounter: null,
  // null 则显示按钮 秒数则显示读秒
  showtime: null
 }
 },
 methods: {
 // 倒计时显示处理
 countDownText(s) {
  this.showtime = `${s}s后重新获取`
 },
 // 倒计时 60秒 不需要很精准
 countDown(times) {
  const self = this;
  // 时间间隔 1秒
  const interval = 1000;
  let count = 0;
  self.timeCounter = setTimeout(countDownStart, interval);
  function countDownStart() {
  if (self.timeCounter == null) {
   return false;
  }
  count++
  self.countDownText(times - count + 1);
  if (count > times) {
   clearTimeout(self.timeCounter)
   self.showtime = null;
  } else {
   self.timeCounter = setTimeout(countDownStart, interval)
  }
  }
 },
 send() {
  this.countDown(60);
 }
 },
}
</script>
<style lang="less" scoped>
.captcha-row {
 display: flex;
 .captcha-button {
 background: #048fff;
 color: white;
 display: flex;
 justify-content: center;
 align-items: center;
 padding: 4rpx 8rpx;
 width: 320rpx;
 border-radius: 4rpx;
 }
}
</style>

更多关于倒计时的文章请查看专题:《倒计时功能》

更多JavaScript时钟特效点击查看:JavaScript时钟特效专题

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery 常用操作整理 基础入门篇
Oct 14 Javascript
JS OffsetParent属性深入解析
Jan 13 Javascript
Javascript学习笔记之数组的构造函数
Nov 23 Javascript
bootstrap——bootstrapTable实现隐藏列的示例
Jan 14 Javascript
JS实现禁止用户使用Ctrl+鼠标滚轮缩放网页的方法
Apr 28 Javascript
JavaScript上传文件时不用刷新页面方法总结(推荐)
Aug 15 Javascript
vue 中滚动条始终定位在底部的方法
Sep 03 Javascript
es6数值的扩展方法
Mar 11 Javascript
解决使用layui的时候form表单中的select等不能渲染的问题
Sep 18 Javascript
vue表单中遍历表单操作按钮的显示隐藏示例
Oct 30 Javascript
详解ES6 CLASS在微信小程序中的应用实例
Apr 24 Javascript
vue自定义插件封装,实现简易的elementUi的Message和MessageBox的示例
Nov 20 Vue.js
seajs和requirejs模块化简单案例分析
Aug 26 #Javascript
JavaScript实现身份证验证代码实例
Aug 26 #Javascript
基于vue、react实现倒计时效果
Aug 26 #Javascript
tweenjs缓动算法的使用实例分析
Aug 26 #Javascript
JS实现利用闭包判断Dom元素和滚动条的方向示例
Aug 26 #Javascript
JS实现提示效果弹出及延迟隐藏的功能
Aug 26 #Javascript
小程序实现层叠卡片滑动效果
Aug 26 #Javascript
You might like
一台收音机,让一家人都笑逐颜开!
2020/08/21 无线电
php+xml编程之SimpleXML的应用实例
2015/01/24 PHP
thinkPHP5.0框架模块设计详解
2017/03/18 PHP
PHP pthreads v3使用中的一些坑和注意点分析
2020/02/21 PHP
Dojo 学习要点
2010/09/03 Javascript
基于jquery的从一个页面跳转到另一个页面的指定位置的实现代码(带平滑移动的效果)
2011/05/24 Javascript
用Js实现的动态增加表格示例自己写的
2013/10/21 Javascript
不提示直接关闭网页窗口的JS示例代码
2013/12/17 Javascript
详解JavaScript的Date对象(制作简易钟表)
2020/04/07 Javascript
jQuery获取剪贴板内容的方法
2016/06/16 Javascript
分享一道关于闭包、bind和this的面试题
2017/02/20 Javascript
validationEngine 表单验证插件使用实例代码
2017/06/15 Javascript
JavaScript之面向对象_动力节点Java学院整理
2017/06/29 Javascript
微信小程序 同步请求授权的详解
2017/08/04 Javascript
js中DOM事件绑定分析
2018/03/18 Javascript
Vue拖拽组件列表实现动态页面配置功能
2019/06/17 Javascript
JavaScript This指向问题详解
2019/11/25 Javascript
uni-app实现获取验证码倒计时功能
2020/11/01 Javascript
Python中利用原始套接字进行网络编程的示例
2015/05/04 Python
python基础while循环及if判断的实例讲解
2017/08/25 Python
python并发2之使用asyncio处理并发
2017/12/21 Python
python如何在列表、字典中筛选数据
2018/03/19 Python
皮尔·卡丹巴西官方商店:Pierre Cardin
2017/07/21 全球购物
美国市场上最实惠的送餐服务:Dinnerly
2018/03/18 全球购物
古驰英国官网:GUCCI英国
2020/03/07 全球购物
父亲的菜园教学反思
2014/02/13 职场文书
小学五年级学生评语
2014/04/22 职场文书
诉前财产保全担保书
2014/05/20 职场文书
公民代理授权委托书
2014/09/24 职场文书
捐款感谢信
2015/01/20 职场文书
开场白怎么写
2015/06/01 职场文书
解决Nginx 配置 proxy_pass 后 返回404问题
2021/03/31 Servers
python opencv人脸识别考勤系统的完整源码
2021/04/26 Python
Springboot集成阿里云OSS上传文件系统教程
2021/06/28 Java/Android
springboot 自定义配置 解决Boolean属性不生效
2022/03/18 Java/Android
公历12个月名称的由来
2022/04/12 杂记