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

实现效果:实现按钮倒计时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)
    }
相关推荐
qq_589666058 小时前
TypeScript 完整入门教程
前端·javascript·typescript
星栈独行10 小时前
翻完 Pi 源码:它和 Codex、Claude Code 有何不同
开发语言·javascript·人工智能·程序人生
qq_4480111610 小时前
C语言中的变量和函数的定义与声明
android·c语言·开发语言
落落Plus11 小时前
浏览器缓存机制详解
javascript·缓存·浏览器缓存
孫治AllenSun11 小时前
【DataX】生产环境搭建DataX集群案例
java·开发语言·jvm
用户0595401744612 小时前
LLM对话记忆测试踩坑实录:手工回归30分钟,自动化后2分钟发现3个隐藏Bug
前端·css
c2385612 小时前
把 C++ 内存分配拆透:new 与 malloc 的三层血缘
开发语言·c++·算法
Ashley的成长之路13 小时前
前端性能优化实战手册·第2篇:资源加载策略全解
前端·性能优化·资源加载·http/3·性能优化实战·资源加载优化
浅水壁虎13 小时前
vue基础(第二章 )
前端·javascript·vue.js