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 相关文章推荐
认识延迟时间为0的setTimeout
May 16 Javascript
基于jquery的cookie的用法
Jan 10 Javascript
Jquery在指定DIV加载HTML示例代码
Feb 17 Javascript
使用jQuery mobile库检测url绝对地址和相对地址的方法
Dec 04 Javascript
讲解JavaScript的Backbone.js框架的MVC结构设计理念
Feb 14 Javascript
基于javascript实现文字无缝滚动效果
Mar 22 Javascript
js生成随机颜色方法代码分享(三种)
Dec 29 Javascript
浅谈在fetch方法中添加header后遇到的预检请求问题
Aug 31 Javascript
基于ionic实现下拉刷新功能
May 10 Javascript
Vue插值、表达式、分隔符、指令知识小结
Oct 12 Javascript
解决vue使用vant下拉框van-dropdown-item 绑定title值不变问题
Aug 05 Javascript
JavaScript设计模式之原型模式详情
Jun 21 Javascript
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
DC动画电影《黑暗正义联盟》曝预告 5月5日上线数字平台
2020/04/09 欧美动漫
mayfish 数据入库验证代码
2010/04/30 PHP
php简单操作mysql数据库的类
2015/04/16 PHP
JavaScript中null与undefined分析
2009/07/25 Javascript
ext 列表页面关于多行查询的办法
2010/03/25 Javascript
jquery滚动组件(vticker.js)实现页面动态数据的滚动效果
2013/07/03 Javascript
利用Jquery实现可多选的下拉框
2014/02/21 Javascript
javascript实现相同事件名称,不同命名空间的调用方法
2015/06/26 Javascript
关于Bootstrap弹出框无法调用问题的解决办法
2016/03/10 Javascript
javascript实现延时显示提示框特效代码
2016/04/27 Javascript
全面了解JavaScirpt 的垃圾(garbage collection)回收机制
2016/07/11 Javascript
jQuery子元素过滤选择器用法示例
2016/09/09 Javascript
基于Vue2.X的路由和钩子函数详解
2018/02/09 Javascript
axios简单实现小程序延时loading指示
2018/07/30 Javascript
nodejs实现一个word文档解析器思路详解
2018/08/14 NodeJs
Django+Vue实现WebSocket连接的示例代码
2019/05/28 Javascript
js Array.slice的8种不同用法示例
2019/07/10 Javascript
createObjectURL方法实现本地图片预览
2019/09/30 Javascript
[00:32]2018DOTA2亚洲邀请赛VGJ.T出场
2018/04/03 DOTA
Python实现将SQLite中的数据直接输出为CVS的方法示例
2017/07/13 Python
Python开发最牛逼的IDE——pycharm
2018/08/01 Python
python 工具 字符串转numpy浮点数组的实现
2020/03/14 Python
CSS3 mask 遮罩的具体使用方法
2017/11/03 HTML / CSS
使用CSS变量实现炫酷惊人的悬浮效果
2019/04/26 HTML / CSS
美国知名的百货清仓店:Neiman Marcus Last Call
2016/08/03 全球购物
美国领先的户外服装与装备用品店:Moosejaw
2016/08/25 全球购物
新加坡航空官方网站:Singapore Airlines
2016/10/13 全球购物
优秀教师获奖感言
2014/01/31 职场文书
大二法学专业职业生涯规划范文
2014/02/12 职场文书
城市精细化管理实施方案
2014/03/04 职场文书
安全生产目标责任书
2014/04/14 职场文书
简易离婚协议书范本2014
2014/10/15 职场文书
高考满分作文赏析(2篇)
2019/08/12 职场文书
如何理解python接口自动化之logging日志模块
2021/06/15 Python
解决vue自定义组件@click点击失效问题
2022/04/30 Vue.js
CSS SandBox应用场景及常见问题
2022/06/25 HTML / CSS