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 相关文章推荐
ie和firefox中img对象区别的困惑
Dec 27 Javascript
Javascript解决常见浏览器兼容问题的12种方法
Jan 04 Javascript
Google 静态地图API实现代码
Nov 19 Javascript
基于JQuery的抓取博客园首页RSS的代码
Dec 01 Javascript
使用jQuery重置(reset)表单的方法
May 05 Javascript
node.js中的fs.readFile方法使用说明
Dec 15 Javascript
基于JS实现Android,iOS一个手势动画效果
Apr 27 Javascript
使用veloticy-ui生成文字动画效果
Feb 08 Javascript
详解如何从零开始搭建Express+Vue开发环境
Jul 17 Javascript
Vue对象赋值视图不更新问题及解决方法
Jun 03 Javascript
Swiper.js实现移动端元素左右滑动
Sep 08 Javascript
JS原型和原型链原理与用法实例详解
Feb 05 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 事件机制(2)
2011/03/23 PHP
深入PHP异步执行的详解
2013/06/03 PHP
PHP中的Memcache详解
2014/04/05 PHP
ThinkPHP3.2.3数据库设置新特性
2015/03/05 PHP
php简单解析mysqli查询结果的方法(2种方法)
2016/06/29 PHP
Thinkphp5 微信公众号token验证不成功的原因及解决方法
2017/11/12 PHP
PHP超全局变量实现原理及代码解析
2020/09/01 PHP
baidu博客的编辑友情链接的新的层窗口!经典~支持【FF】
2007/02/09 Javascript
看了就知道什么是JSON
2007/12/09 Javascript
Javascript/Jquery——简单定时器的多种实现方法
2013/07/03 Javascript
使用apply方法实现javascript中的对象继承
2013/12/16 Javascript
js检测判断日期大于多少天的方法
2015/05/04 Javascript
详解AngularJS中的作用域
2015/06/17 Javascript
JavaScript操作select元素和option的实例代码
2016/01/29 Javascript
原生JS实现图片网格式渐显、渐隐效果
2017/06/05 Javascript
解决ztree搜索中多级菜单展示不全问题
2017/07/05 Javascript
JS实现上传图片的三种方法并实现预览图片功能
2017/07/14 Javascript
详解Vue微信公众号开发踩坑全记录
2017/08/21 Javascript
微信小程序实现购物页面左右联动
2019/02/15 Javascript
JS使用百度地图API自动获取地址和经纬度操作示例
2019/04/16 Javascript
Vue父组件如何获取子组件中的变量
2019/07/24 Javascript
Flutter 超实用简单菜单弹出框 PopupMenuButton功能
2019/08/06 Javascript
解决layui数据表格排序图标被超出的表头挤出去的问题
2019/09/19 Javascript
vue 父组件通过$refs获取子组件的值和方法详解
2019/11/07 Javascript
Python中的MongoDB基本操作:连接、查询实例
2015/02/13 Python
Python Socket实现简单TCP Server/client功能示例
2017/08/05 Python
pycharm修改界面主题颜色的方法
2019/01/17 Python
python如果快速判断数字奇数偶数
2019/11/13 Python
python实现视频压缩功能
2020/12/18 Python
JavaScript+Canvas实现自定义画板的示例代码
2019/05/13 HTML / CSS
阿玛尼意大利官网:Armani意大利
2018/10/30 全球购物
法国面料和小百货在线商店:Mondial Tissus
2019/03/23 全球购物
党委班子对照检查材料
2014/08/19 职场文书
银行授权委托书范本
2014/10/04 职场文书
党的群众路线教育实践活动个人整改措施
2014/10/27 职场文书
青年教师个人总结
2015/02/11 职场文书