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

下面我将详细讲解如何使用原生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日

相关文章

  • 使用BootStrapValidator完成前端输入验证

    使用 BootStrapValidator 完成前端输入验证的完整攻略如下: 步骤一:引入 BootStrap 和 BootStrapValidator 库 首先,需要引入 BootStrap 和 BootStrapValidator 两个库: <!– BootStrap CSS文件 –> <link rel="stylesh…

    JavaScript 2023年6月10日
    00
  • JS操作JSON方法总结(推荐)

    JS操作JSON方法总结(推荐) 什么是JSON JSON全称是JavaScript Object Notation,即JavaScript对象表示法。在Web应用程序中,使用JSON格式来交换数据是一种常见方式。JSON是一种轻量级的数据交换格式,容易被阅读和编写,并且易于机器解析和生成。JSON是一种文本格式,可以通过JavaScript或其他语言解析。…

    JavaScript 2023年5月27日
    00
  • JavaScript中的Document文档对象

    JavaScript中的Document文档对象是指代表整个HTML文档的对象,它包含了HTML文档的所有内容,如标签、文本、属性等等。它是所有网页DOM的顶级容器,JavaScript可以通过该对象来获取和修改所有的HTML元素以及其内容和属性。 Document对象的常用属性与方法 常用属性 document.title:表示HTML页面的标题。 例子:…

    JavaScript 2023年5月27日
    00
  • JavaScript ParseFloat()方法

    当需要把字符串转化成 JavaScript 中的数字类型时,可以使用 JavaScript 中的 parseFloat() 方法。这个方法可以把一个字符串中的首个数字或小数点开头的数字转换成浮点型数据(float)。 1. 语法 parseFloat(string) 其中,string 为需要被解析的字符串参数。 2. 示例 2.1. 解析包含整数的字符串 …

    JavaScript 2023年5月28日
    00
  • 详解vue 单页应用(spa)前端路由实现原理

    详解Vue单页应用(SPA)前端路由实现原理 前言 前端路由是单页应用(SPA)的核心实现之一,Vue.js 作为一个流行前端框架,提供了内置路由器 Vue Router,方便前端开发者实现路由功能。在本文中,我们将详细讲解 Vue 单页应用(SPA)前端路由实现原理。 什么是单页应用(SPA)? 单页应用(Single Page Application,简…

    JavaScript 2023年6月11日
    00
  • js date 格式化

    当我们在使用Javascript时,经常需要对日期进行格式化操作。本篇攻略将介绍如何使用JS对日期进行格式化。 了解JS的Date对象 在进行日期格式化之前,我们需要先了解Javascript的Date对象。Date对象代表了时间戳,可以通过new操作符来实例化一个Date对象。例如: let now = new Date(); 使用toLocaleStri…

    JavaScript 2023年5月27日
    00
  • js 获取当前select元素值的代码

    获取当前 select 元素的值,可以使用 JavaScript 中的 value 属性。下面是获取 select 元素值的代码示例: // 获取 id 为 mySelect 的 select 元素 let selectElement = document.getElementById(‘mySelect’); // 获取 select 元素的值 let s…

    JavaScript 2023年6月10日
    00
  • 在浏览器测试JavaScript的方法小结

    在浏览器中测试JavaScript可以通过多种方式实现,下面是一些常见的浏览器测试JavaScript的方法。 方法一:使用浏览器的控制台 浏览器的控制台是测试JavaScript代码最常用的环境之一。下面是使用控制台进行测试的步骤: 打开浏览器,在需要调试的页面上右键单击,选择“检查元素”(或按快捷键F12)。 在打开的开发者工具窗口中,切换到“控制台”选…

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