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 相关文章推荐
直接生成打开窗口代码,不必下载
May 14 Javascript
JQuery 初体验(建议学习jquery)
Apr 25 Javascript
jquery png 透明解决方案(推荐)
Aug 21 Javascript
javascript数字数组去重复项的实现代码
Dec 30 Javascript
基于Jquery实现表格动态分页实现代码
Jun 21 Javascript
javascript实现获取浏览器版本、浏览器类型
Dec 02 Javascript
javascript实现粘贴qq截图功能(clipboardData)
May 29 Javascript
jQuery中$.ajax()方法参数解析
Oct 22 Javascript
基于jQuery的左滑出现删除按钮的示例
Aug 29 jQuery
JS实现移动端在线签协议功能
Aug 22 Javascript
vue中beforeRouteLeave实现页面回退不刷新的示例代码
Nov 01 Javascript
Vue中使用better-scroll实现轮播图组件
Mar 07 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
基于php设计模式中单例模式的应用分析
2013/05/15 PHP
php中让上传的文件大小在上传前就受限制的两种解决方法
2013/06/24 PHP
详解PHP中cookie和session的区别及cookie和session用法小结
2016/06/12 PHP
js二级地域选择的实现方法
2013/06/17 Javascript
JavaScript进阶练习及简单实例分析
2016/06/03 Javascript
javascript代码优化的8点总结
2018/01/29 Javascript
jQuery 改变P标签文本值方法
2018/02/24 jQuery
利用vue.js把静态json绑定bootstrap的table方法
2018/08/28 Javascript
Nodejs实现的操作MongoDB数据库功能完整示例
2019/02/02 NodeJs
利用Node.js如何实现文件循环覆写
2019/04/05 Javascript
VUE 自定义组件模板的方法详解
2019/08/30 Javascript
详解Angular cli配置过程记录
2019/11/07 Javascript
理解Proxy及使用Proxy实现vue数据双向绑定操作
2020/07/18 Javascript
[04:15]DOTA2-DPC中国联赛1月19日Recap集锦
2021/03/11 DOTA
python回调函数的使用方法
2014/01/23 Python
python的else子句使用指南
2016/02/27 Python
Python 实现文件的全备份和差异备份详解
2016/12/27 Python
python pandas中对Series数据进行轴向连接的实例
2018/06/08 Python
解决pip install xxx报错SyntaxError: invalid syntax的问题
2018/11/30 Python
Python整数对象实现原理详解
2019/07/01 Python
Python对列表的操作知识点详解
2019/08/20 Python
Python实现剪刀石头布小游戏(与电脑对战)
2019/12/31 Python
Tensorflow 多线程与多进程数据加载实例
2020/02/05 Python
python tkinter之 复选、文本、下拉的实现
2020/03/04 Python
Keras中的多分类损失函数用法categorical_crossentropy
2020/06/11 Python
CSS3中颜色线性渐变实战
2015/07/18 HTML / CSS
Raffaello Network西班牙:意大利拉斐尔时尚购物网
2019/03/12 全球购物
写好求职应聘自荐信的三部曲
2013/09/21 职场文书
中学感恩教育活动总结
2015/05/05 职场文书
解放思想大讨论活动总结
2015/05/09 职场文书
离婚案件上诉状
2015/05/23 职场文书
新学期开学标语2015
2015/07/16 职场文书
竞聘开场白方式有哪些?
2019/08/28 职场文书
八年级作文之感恩
2019/11/22 职场文书
详解用Python把PDF转为Word方法总结
2021/04/27 Python
MongoDB连接数据库并创建数据等使用方法
2021/11/27 MongoDB