一个最简的短信验证码倒计时例子

// 验证码倒计时
var CountDown = function(options) {
  // 初始化配置信息
  options = options || {};
  // DOM节点
  if(typeof options.element === 'string') {
    this.element = document.querySelector(options.element);
  } else {
    this.element = options.element;
  }
  // 触发事件类型
  this.eventType = options.eventType || 'click'; //默认click事件触发
  // 间隔时间
  this.interval = options.interval || 60; //默认60s间隔
  // 原有的文本
  this.oldText = this.element.innerText;
  // 开始
  this.start = function() {
    this.element.setAttribute('disabled', 'disabled');
    this.timer = window.setInterval(function() {
      if(!!this.interval) {
        this.count();
      } else {
        this.end();
      }
    }.bind(this), 1000);
  };
  // 计算
  this.count = function() {
    this.element.innerText = '重新发送(' + this.interval + ')';
    this.interval -= 1;
  };
  // 结束
  this.end = function() {
    if(!!this.timer) {
      window.clearInterval(this.timer);
      delete this.timer;
    }
    this.reset();
  };
  // 重置
  this.reset = function() {
    this.element.innerText = this.oldText;
    this.element.removeAttribute('disabled');
    this.interval = options.interval || 60;
  };
  // 绑定事件
  this.element.addEventListener(this.eventType, this.start.bind(this), false);
};

主要用于移动端

转载于:https://www.cnblogs.com/xiaoyucoding/p/8488679.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值