JavaScript实现短信倒计时60s

yizhihongxing

当需要在网页中添加短信验证码的时候,我们通常需要一个倒计时的功能,限制60秒内只允许重新获取一次验证码。下面是JavaScript实现短信倒计时60s的攻略。

1. 倒计时基础框架

我们先来搭建倒计时的基本框架,HTML代码如下:

<button id="btn">获取验证码</button>

需要注意的是,这里的按钮id为“btn”,可以根据实际情况修改。

接下来,我们在JavaScript中获取该元素,并倒计时,在倒计时结束后恢复按钮的状态。

var btn = document.getElementById("btn");
var countdown = 60;

function settime(obj) {
  if (countdown == 0) {
    obj.removeAttribute("disabled");
    obj.innerText = "获取验证码";
    countdown = 60;
    return;
  } else {
    obj.setAttribute("disabled", true);
    obj.innerText = "重新发送(" + countdown + ")";
    countdown--;
  }
  setTimeout(function () {
    settime(obj);
  }, 1000);
}

2. 添加点击事件

在点击按钮的时候,我们需要触发倒计时函数。因此,我们需要在JavaScript中添加一个点击事件:

btn.addEventListener("click", function () {
  settime(this);
});

示例1:完整代码

接下来是完整代码示例1:

<!DOCTYPE html>
<html>

<head>
  <meta charset="UTF-8">
  <title>短信验证码倒计时</title>
</head>

<body>
  <button id="btn">获取验证码</button>
  <script>
    var btn = document.getElementById("btn");
    var countdown = 60;

    function settime(obj) {
      if (countdown == 0) {
        obj.removeAttribute("disabled");
        obj.innerText = "获取验证码";
        countdown = 60;
        return;
      } else {
        obj.setAttribute("disabled", true);
        obj.innerText = "重新发送(" + countdown + ")";
        countdown--;
      }
      setTimeout(function () {
        settime(obj);
      }, 1000);
    }

    btn.addEventListener("click", function () {
      settime(this);
    });
  </script>
</body>

</html>

示例2:jQuery实现

除了原生JavaScript,我们也可以使用jQuery实现短信验证码倒计时,如下:

<!DOCTYPE html>
<html>

<head>
  <meta charset="UTF-8">
  <title>短信验证码倒计时</title>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
</head>

<body>
  <button id="btn">获取验证码</button>
  <script>
    var countdown = 60;

    function settime(obj) {
      if (countdown == 0) {
        obj.removeAttr("disabled");
        obj.text("获取验证码");
        countdown = 60;
        return;
      } else {
        obj.attr("disabled", true);
        obj.text("重新发送(" + countdown + ")");
        countdown--;
      }
      setTimeout(function () {
        settime(obj);
      }, 1000);
    }

    $('#btn').click(function () {
      settime($(this));
    });
  </script>
</body>

</html>

需要注意的是,在使用jQuery之前,需要先引入jQuery库。通过与之前的原生JavaScript对比,可以发现,在使用jQuery实现倒计时的时候,只需要在选择器中传入字符串形式的id,即可选择按钮元素。另外,jQuery中的获取属性和设置属性分别使用“removeAttr”和“attr”函数,以及“text”函数用于设置对应的文本内容。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript实现短信倒计时60s - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • asp javascript 实现关闭窗口时保存数据的办法

    下面是“asp javascript 实现关闭窗口时保存数据的办法”的完整攻略: 1. 使用 onbeforeunload 事件 onbeforeunload 事件可以在页面关闭之前触发,我们可以在这个事件中实现数据保存的逻辑。具体实现步骤如下: 在页面中添加 <body onbeforeunload=”return onBeforeUnloadHan…

    JavaScript 2023年6月11日
    00
  • JS基于ocanvas插件实现的简单画板效果代码(附demo源码下载)

    下面是对“JS基于ocanvas插件实现的简单画板效果代码(附demo源码下载)”的完整攻略: 1. 介绍 本篇攻略将介绍如何使用JS基于ocanvas插件实现简单画板效果,并附带demo源码下载。ocanvas是HTML5 Canvas的一个扩展库,它提供了更简单、更易用的API,并且可以方便地实现一些高级功能。 2. 前置条件 在开始使用ocanvas前…

    JavaScript 2023年6月10日
    00
  • JS处理数据四舍五入(tofixed与round的区别详解)

    JS处理数据四舍五入(toFixed与round的区别详解) 在JavaScript中,处理数字的操作经常会用到四舍五入,而通过使用toFixed和round方法可以实现对数字的四舍五入操作。但是它们的实现方式以及得出的结果有些许不同,下面就详细介绍一下两者的区别。 toFixed方法 toFixed()方法是一个对象方法,它会把数字转换为字符串,并且指定小…

    JavaScript 2023年5月28日
    00
  • JS导出PDF插件的方法(支持中文、图片使用路径)

    下面给出JS导出PDF插件的方法及示例说明。 标题 1. 安装jsPDF 首先,我们需要安装jsPDF这个插件。打开命令行窗口,进入我们项目所在的目录,运行以下命令: npm install jspdf –save 2. 导入中文字体 jsPDF默认不支持中文字体,我们需要引入一些中文字体。这里以SimSun为例。 <!– 在html文件里引入中文…

    JavaScript 2023年5月27日
    00
  • 浅谈下拉菜单中的Option对象

    下拉菜单是Web界面设计中常用的界面元素之一,Option对象是下拉菜单中的选项对象。要想了解Option对象,需要从以下几个方面来讲解: 1. Option对象的定义 Option对象是HTML下拉列表(select)元素中的一个选项对象,每个选项对象都有以下属性和方法: <option value="option_value" …

    JavaScript 2023年6月10日
    00
  • 九个超级好用的Javascript技巧

    九个超级好用的Javascript技巧 Javascript是一门非常强大的语言,但是也有它的一些不足之处。在长时间的开发过程中,我们掌握了一些技巧,能够让我们更好地利用这门语言。以下是九个超级好用的Javascript技巧,让你的代码变得更精简、易读、高效。 把布尔值用!!转化 在Javascript中,我们可以通过使用两个非符号将任何值转化为布尔值。例如…

    JavaScript 2023年6月10日
    00
  • js中对象与对象创建方法的各种方法

    下面是关于JavaScript中对象以及创建对象的方法的详细攻略。 一、对象的定义 在JavaScript中,对象是一组属性和方法的集合。对象可以像字典一样,用键值对来存储和调用属性和方法。 对象定义的方式有两种: 1. 直接量方式 直接量方式就是在大括号内写对象的属性和方法: let person = { name: ‘张三’, age: 18, sayH…

    JavaScript 2023年5月27日
    00
  • JS控制TreeView的结点选择

    控制TreeView结点选择的方法主要有以下两种: 使用JavaScript代码控制TreeView的结点选择 可以通过JS控制TreeView的checkbox,从而实现TreeView的选择控制。具体实现过程如下: (1)获取TreeView的DOM结构 <asp:TreeView ID="TreeView1" runat=&q…

    JavaScript 2023年6月11日
    00
合作推广
合作推广
分享本页
返回顶部