JS实现的倒计时恢复按钮点击功能【可用于协议阅读倒计时】

下面是关于“JS实现的倒计时恢复按钮点击功能”的完整攻略:

一、实现思路

  1. 通过JavaScript获取页面上的倒计时元素,并从元素的data-*属性中读取倒计时的时间。
  2. 开始倒计时,每秒减少一秒,并将剩余时间更新到页面上。
  3. 倒计时结束后,显示恢复按钮,并将按钮设置为可点击状态。
  4. 添加按钮的点击事件,点击按钮后重新开始倒计时。

二、实现步骤

  1. HTML结构:
<div class="countdown" data-time="60">
  <span id="time">60s</span>
  <button id="btn" disabled>恢复</button>
</div>
  1. CSS样式:
.countdown {
  display: inline-block;
  padding:10px;
  border: 1px solid #ccc;
  border-radius: 5px;
  font-size: 16px;
  line-height: 1;
}
  1. JavaScript代码:
var time = document.getElementById('time'); // 获取倒计时元素
var btn = document.getElementById('btn'); // 获取恢复按钮元素
var countTime = parseInt(time.parentNode.dataset.time) || 60; // 从data-time属性中读取倒计时的时间
var timer = null; // 计时器

// 开始倒计时
timer = setInterval(function() {
  if(countTime <= 0) { // 倒计时结束
    clearInterval(timer); // 清除计时器
    btn.removeAttribute('disabled'); // 恢复按钮设置为可点击
  } 
  time.innerHTML = countTime + 's'; // 更新剩余时间
  countTime--;
}, 1000);

// 恢复按钮被点击
btn.addEventListener('click', function() {
  btn.setAttribute('disabled', true); // 恢复按钮设置为不可点击
  countTime = parseInt(time.parentNode.dataset.time) || 60; // 重新读取倒计时时间
  time.innerHTML = countTime + 's'; // 更新剩余时间
  timer = setInterval(function() { // 重新开始倒计时
    if(countTime <= 0) { // 倒计时结束
      clearInterval(timer); // 清除计时器
      btn.removeAttribute('disabled'); // 恢复按钮设置为可点击
    }
    time.innerHTML = countTime + 's'; // 更新剩余时间
    countTime--;
  }, 1000);
});

三、示例说明

  1. 倒计时恢复协议阅读

如下示例演示了如何在协议阅读时添加倒计时,阅读过程中只有满足时间限制,才能继续往下操作。

<p>
  请在 <span class="countdown" data-time="10"><span id="time">10s</span><button id="btn" disabled>阅读完成</button></span> 内完成此协议的阅读。
</p>
<p>阅读内容……</p>

<script>
  // JavaScript代码
</script>
  1. 倒计时恢复验证码发送

如下示例演示了如何在发送验证码时添加倒计时,发送后只有在一定时间之后才能再次发送。

<p>
  <label>手机号:<input type="text"></label> 
  <label>验证码:<input type="text"></label> 
  <button id="send">发送验证码</button>
  <span class="countdown" data-time="60"><span id="time">60s</span><button id="btn" disabled>再次发送</button></span>
</p>

<script>
  // JavaScript代码
</script> 

以上是对“JS实现的倒计时恢复按钮点击功能”的完整攻略,希望能对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS实现的倒计时恢复按钮点击功能【可用于协议阅读倒计时】 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • javascript 自定义常用方法第2/2页

    下面是对“javascript 自定义常用方法第2/2页”的完整攻略。 什么是“javascript 自定义常用方法”? 在前端开发时,我们会经常使用一些常用的函数和方法,比如获取URL参数、验证表单、限制文本输入等。为了方便我们的开发,我们可以将这些常用的函数和方法封装成自定义方法,以便在以后的开发中反复使用。 如何自定义常用方法? 以下是自定义常用方法的…

    JavaScript 2023年5月18日
    00
  • javascript 通用loading动画效果实例代码

    对于这个问题,我可以提供以下完整攻略: JavaScript 通用 Loading 动画效果实例代码 什么是 Loading 动画 Loading 动画指的是在某些长时间操作(例如网络请求或计算)期间,为了让用户知道应用程序正在运行中,而在屏幕上呈现的动画效果。通常采用旋转、脉冲或进度条等形式。 如何实现 Loading 动画 HTML & CSS …

    JavaScript 2023年6月10日
    00
  • 基于JavaScript实现数码时钟效果

    基于JavaScript实现数码时钟效果攻略 在网页中实现时钟效果,在 JavaScript 中常用的方式是使用 setInterval() 函数来定期获取当前时间,并更新页面上显示时间的元素。实现数码时钟效果可以使得网页更加美观和实用。 本文将详细讲解如何基于 JavaScript 实现数码时钟效果。过程中将包含两条示例说明。 1. HTML 结构 需要在…

    JavaScript 2023年5月27日
    00
  • 基于JavaScript 性能优化技巧心得(分享)

    基于JavaScript 性能优化技巧心得(分享) JavaScript 在网页交互中扮演着非常重要的角色,但是 JavaScript 的执行效率相对较差,因此,为了提高网页性能,我们需要对 JavaScript 进行性能优化。本文将介绍几个基于 JavaScript 性能优化技巧的心得。 减少全局变量使用 全局变量在 JavaScript 中会优先存在于全…

    JavaScript 2023年6月11日
    00
  • 使用js dom和jquery分别实现简单增删改

    下面我来详细讲解使用JS DOM和jQuery分别实现简单增删改的完整攻略。 使用JS DOM实现简单增删改 首先我们需要明确一下,JS DOM是指通过JavaScript来操作DOM元素,实现交互效果的一种技术。下面是详细的步骤: 添加元素 首先,我们需要一个按钮,并绑定一个事件,当用户点击按钮时会自动创建一个新的元素。具体代码如下: <!DOCTY…

    JavaScript 2023年6月10日
    00
  • js charAt的使用示例

    是的,我可以为你提供有关使用JavaScript中的charAt()方法的攻略。下面是完整的攻略,其中包含了两个实例: charAt() 方法的介绍 charAt() 是 JavaScript 字符串中的一种方法,它用于返回字符串中指定位置的字符。它也常用来检查字符串中是否包含想要的字符。该方法的语法如下: string.charAt(index) 其中,s…

    JavaScript 2023年5月19日
    00
  • javascript设计模式 – 状态模式原理与用法实例分析

    下面是“javascript设计模式 – 状态模式原理与用法实例分析”的完整攻略,包括原理、用法实例分析和示例说明。 前言 状态模式是一种行为型模式,它用一种更好的方式来处理对象状态之间的转换。在这篇文章中,我们将讨论状态模式的原理和用法实例分析。 状态模式原理 状态模式是一种通过使用状态和转换来实现状态转换的行为型模式。在这种模式中,状态表示为一个对象,而…

    JavaScript 2023年6月10日
    00
  • JavaScript利用切片实现大文件断点续传

    下面我将为你详细讲解“JavaScript利用切片实现大文件断点续传”的完整攻略。 什么是大文件断点续传? 大文件断点续传是指在上传或下载大文件时,当中途发生网络异常或操作中断等情况,可以暂停传输并记录已传输的数据,下次继续传输时从中断处开始传输,避免重新传输整个文件。 实现大文件断点续传的原理 大文件断点续传的实现原理是将大文件切分成若干个小部分即“分片”…

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