前端实现手机短信验证码倒计时效果

实现效果:实现按钮倒计时10s后可重新发送验证码

一、思路

1、禁用按钮,调用后端接口,获取验证码

2、setTimeOut(() => {},1000)延迟1s执行,time - 1,返回文案,9s

3、迭代处理,调用自身函数,time - 1,返回文案,8s,实现9s 8s 7s 这样倒计时的效果。

4、不能无限迭代减1,判断时间为最后一秒时,解除按钮禁用状态

二、代码

javascript 复制代码
    sendVerifyCode() {
      this.verifyCodeDisable = true;
      // 调用后端接口获取验证码
      this.getVerifyCode()
      // 初始化倒计时时间
      let time = 10;
      this.setTime(time)
    },
    setTime(time) {
      setTimeout(() => {
        if (time > 1) {
          time--;
          // 返回文案
          this.tips = time + 's';
          // 迭代调用
          this.setTime(time)
        } else {
          // 倒计时最后一秒,解除禁用状态,可重新发送验证码
          this.verifyCodeDisable = false;
          this.tips = '获取验证码';
        }
      }, 1000)
    }
相关推荐
Tansmjs3 分钟前
实时数据可视化库
开发语言·c++·算法
我什么都学不会10 分钟前
Python练习作业3
开发语言·python
2401_8384725125 分钟前
C++模拟器开发实践
开发语言·c++·算法
初九之潜龙勿用26 分钟前
C# 操作Word模拟解析HTML标记之背景色
开发语言·c#·word·.net·office
ziqi52230 分钟前
第二十五天笔记
前端·chrome·笔记
froginwe1133 分钟前
MySQL UNION 操作详解
开发语言
ruxshui33 分钟前
Python多线程环境下连接对象的线程安全管理规范
开发语言·数据库·python·sql
雨季66634 分钟前
Flutter 三端应用实战:OpenHarmony 简易点击计数器与循环颜色反馈器开发指南
开发语言·flutter·ui·ecmascript·dart
望眼欲穿的程序猿34 分钟前
Ai8051U+DHT11温湿度!
java·开发语言
GISer_Jing35 分钟前
Memory、Rules、Skills、MCP如何重塑AI编程
前端·人工智能·aigc·ai编程