原生JS实现简单的倒计时功能示例

yizhihongxing

下面我将详细讲解如何使用原生JS实现简单的倒计时功能。

  1. 编写HTML结构

首先,我们需要在HTML页面中创建一个倒计时的容器,可以使用<div>元素,并为其设置id属性,便于在JavaScript中操作。

<div id="countdown"></div>
  1. 编写JavaScript代码

接下来,我们使用JavaScript来实现倒计时功能。我们首先在页面中引入JavaScript文件,并使用Date()函数获取当前的时间戳和结束时间戳。然后,我们计算出两者之间的时间差,接着将时间差转换为时、分、秒的格式,并将结果更新到HTML页面中的倒计时容器中。

// 获取当前时间戳
var now = new Date().getTime(); 
// 获取结束时间戳(示例为2022年1月1日00:00:00)
var end = new Date('2022/01/01 00:00:00').getTime(); 
// 计算时间差
var leftTime = end - now; 

// 转换为时、分、秒格式
var hour = Math.floor(leftTime / (1000 * 60 * 60)); 
var minute = Math.floor(leftTime / (1000 * 60)) % 60; 
var second = Math.floor(leftTime / 1000) % 60; 

// 更新到页面中的倒计时容器中
var countdown = document.getElementById('countdown');
countdown.innerHTML = '距离2022年1月1日00:00:00还有:' + hour + '时' + minute + '分' + second + '秒';
  1. 示例说明

以上是一个简单的倒计时功能的示例,以下是两个拓展的示例说明。

(1)倒计时结束后提示

如果倒计时结束后需要提示用户,可以在计算时间差的代码后添加一个判断,当时间差小于等于0时,弹出提示框。

if (leftTime <= 0) {
  alert('倒计时结束!');
  return;
}

(2)动态设置结束时间

如果需要动态设置倒计时的结束时间,可以使用JavaScript的setInterval()函数实时获取当前时间,并更新倒计时容器中的倒计时。

function countdown() {
  var now = new Date().getTime();
  var end = new Date(document.getElementById('end').value).getTime();
  var leftTime = end - now;
  var hour = Math.floor(leftTime / (1000 * 60 * 60));
  var minute = Math.floor(leftTime / (1000 * 60)) % 60;
  var second = Math.floor(leftTime / 1000) % 60;
  var countdown = document.getElementById('countdown');
  if (leftTime <= 0) {
    countdown.innerHTML = '倒计时结束!';
    clearInterval(timer);
  } else {
    countdown.innerHTML = '距离' + document.getElementById('end').value + '还有:' + hour + '时' + minute + '分' + second + '秒';
  }
}
var timer = setInterval(countdown, 1000);

在以上代码中,我们定义了一个countdown()函数来实现动态计算倒计时。函数中获取了一个输入框中用户输入的结束时间,然后使用setInterval()函数每隔1秒执行一次该函数,实时更新倒计时容器中的倒计时。当时间差小于等于0时,将倒计时容器中显示内容改为“倒计时结束!”。同时,使用clearInterval()函数停止计时器的执行。

希望以上攻略能帮到你实现原生JS实现简单的倒计时功能。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:原生JS实现简单的倒计时功能示例 - Python技术站

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

相关文章

  • JS实现json对象数组按对象属性排序操作示例

    讲解“JS实现json对象数组按对象属性排序操作示例”的完整攻略,大致分为以下步骤: 1.准备JSON对象数组数据首先,我们需要准备一组JSON对象数组数据。例如,假设我们要对一个用户列表进行排序,我们可以定义一个包含多个用户信息的数组,每个用户信息都是一个JSON对象。示例代码如下: var users = [ { name: "张三"…

    JavaScript 2023年5月27日
    00
  • javascript遍历json对象的key和任意js对象属性实例

    我们来详细讲解JavaScript如何遍历JSON对象的key和任意JS对象属性实例。 遍历JSON对象的key 在JavaScript中,我们可以使用for-in循环来遍历JSON对象的key。示例如下: const obj = {name: ‘张三’, age: 20, gender: ‘男’}; for (let key in obj) { conso…

    JavaScript 2023年5月27日
    00
  • canvas实现图像放大镜

    Canvas是一个HTML5的标签,提供了通过脚本绘制图形和动画的功能。在Web开发中,利用Canvas实现图像放大镜,可以给用户提供更好的图片浏览体验,以下是具体步骤: 准备工作 首先,需要在HTML文档中添加Canvas标签,代码如下: <canvas id="my-canvas"></canvas> 同时,需…

    JavaScript 2023年6月10日
    00
  • javascript实现时间日期的格式化的方法汇总

    标题 Javascript实现时间日期的格式化的方法汇总 介绍在Javascript中,实现时间日期格式化可以通过Date对象的方法和第三方库moment.js等方式来实现。本文汇总了几种常见的实现方式,并提供相关的示例说明。 方法1:使用Date对象的方法 在Javascript中,可以使用Date对象的方法对时间日期进行格式化。下面是一个例子,展示如何使…

    JavaScript 2023年5月27日
    00
  • JavaScript高级 ES7-ES13 新特性详解

    JavaScript 高级 ES7-ES13 新特性详解 在这里,我们将介绍 JavaScript ES7 到 ES13 所引入的一些新特性。 1. ES7 新特性 1.1 includes 方法 includes() 方法可用于判断一个数组是否包含一个特定的值,并返回 true 或 false。这个方法在 ES7 中被正式引入,可以通过以下的方式来调用: …

    JavaScript 2023年6月10日
    00
  • jquery获取url参数及url加参数的方法

    jQuery获取URL参数的方法 在jQuery中,可以使用以下代码来获取URL中的参数: function getQueryVariable(variable) { var query = window.location.search.substring(1); var vars = query.split("&"); for …

    JavaScript 2023年5月19日
    00
  • 详解如何让JavaScript代码不可断点

    下面我将详细讲解如何让JavaScript代码不可断点的完整攻略。 方案一:运行时自动压缩代码 运行时自动压缩代码是一种能够让 JavaScript 代码不可打断的方法。具体实现方式是在代码运行前进行压缩并加密,这样就可以有效避免代码被恶意拆解破解。 以下是实现方法: 安装需要的工具 首先需要下载安装 UglifyJS2 模块,该模块可以将普通的 JavaS…

    JavaScript 2023年6月11日
    00
  • JavaScript定时器用法

    JavaScript定时器是一种用于在指定时间间隔后执行代码的功能。在Web应用程序中,它们经常用于将动画效果与其他用户交互部分结合起来。本攻略将详细介绍JavaScript定时器,包括setTimeout和setInterval函数的用法。 setTimeout setTimeout函数允许我们在指定的时间间隔之后执行一段代码。以下是setTimeout函…

    Web开发基础 2023年3月30日
    00
合作推广
合作推广
分享本页
返回顶部