原生js实现倒计时功能(多种格式调用)

下面是关于原生JavaScript实现倒计时功能的攻略,包含了多种格式的调用方式:

前置知识

在学习原生JavaScript实现倒计时功能前,需要掌握HTML、CSS、和基本的JavaScript语法知识。

原生JavaScript实现倒计时功能

HTML

首先,我们需要在HTML文件中创建一个具有倒计时功能的元素,例如一个 div 元素:

<div id="countdown"></div>

JavaScript

在JavaScript文件中,我们需要编写一个函数 countdown 实现倒计时功能,具体实现如下:

function countdown(endDate, elementId) {
  var days, hours, minutes, seconds;

  endDate = new Date(endDate).getTime();

  if (isNaN(endDate)) {
    return;
  }

  setInterval(calculate, 1000);

  function calculate() {
    var startDate = new Date();
    startDate = new Date(startDate.getUTCFullYear(),
                          startDate.getUTCMonth(),
                          startDate.getUTCDate(),
                          startDate.getUTCHours(),
                          startDate.getUTCMinutes(),
                          startDate.getUTCSeconds());

    var timeRemaining = parseInt((endDate - startDate.getTime()) / 1000);

    if (timeRemaining >= 0) {
      days = parseInt(timeRemaining / 86400);
      timeRemaining = (timeRemaining % 86400);

      hours = parseInt(timeRemaining / 3600);
      timeRemaining = (timeRemaining % 3600);

      minutes = parseInt(timeRemaining / 60);
      timeRemaining = (timeRemaining % 60);

      seconds = parseInt(timeRemaining);

      document.getElementById(elementId).innerHTML = "倒计时: "
        + days + "天, "
        + hours + "小时, "
        + minutes + "分钟, "
        + seconds + "秒";
    } else {
      return;
    }
  }
}

调用方法

接下来我们演示一下如何使用 countdown 函数来倒计时,使用不同参数的方式可以得到不同的倒计时效果。

示例1:倒计时到指定日期时间

countdown('2022-01-01 00:00:00', 'countdown');

上面的代码中,我们将 endDate 参数设置为 '2022-01-01 00:00:00',意思是倒计时到2022年1月1日。elementId 参数设置为 'countdown',即为我们在HTML文件中创建的 div 元素的ID属性值。

示例2:倒计时指定的时间段,例如1小时

countdown(60 * 60 * 1000, 'countdown');

上面的代码中,我们将 endDate 参数设置为 60 * 60 * 1000,意思是倒计时一个小时,把毫秒转换成小时需要乘以1000(1秒=1000毫秒),把小时转换成毫秒需要再乘以60(1小时=60分钟)、60(1分钟=60秒)和1000(1秒=1000毫秒)。

至此,你已经了解了使用原生JavaScript实现倒计时功能的具体过程。根据自己的需求,可以选择不同的参数来实现不同的倒计时效果,例如选用不同的日期时间、时间段等。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:原生js实现倒计时功能(多种格式调用) - Python技术站

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

相关文章

  • 记录-对象有哪些继承方式

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 1. 原型链 温故而知新: 构造函数、原型和实例的关系:  每个构造函数都有一个原型对象,原型有一个属性指回构造函数,实例有一个内部指针指向原型。 思考:如果原型是另一个类型的实例呢?  那就意味着这个原型本身有一个内部指针指向另一个原型,相应的另一个原型也有一个指针指向另一个构造函数。这样就在实…

    JavaScript 2023年5月4日
    00
  • js中如何把字符串转化为对象、数组示例代码

    在Javascript中,我们可以使用JSON对象的方法,将字符串转化为对象、数组。JSON.parse()方法可以将字符串转化为对象或数组。 具体的示例代码如下: 字符串转化为对象 const jsonString = ‘{"name":"Tom", "age":18, "job&quo…

    JavaScript 2023年5月28日
    00
  • 最全的常用正则表达式大全

    非常感谢您对本站内容的关注。下面是“最全的常用正则表达式大全”的完整攻略。 什么是正则表达式 正则表达式,也称为“正则式”、“规则表达式”、“常规表达式”,是计算机科学中的一种计算方法。它是一种文本模式,用来描述、匹配和修改一系列文本。正则表达式通常被用来搜索、替换和提取文本中的部分内容。 使用正则表达式需要了解一些基本语法和符号,以下是常用的正则表达式元字…

    JavaScript 2023年5月19日
    00
  • JavaScript编程的单例设计模讲解

    JavaScript编程的单例设计模式讲解 在JavaScript开发中,单例模式是一个常见的设计模式。它可以保证一个类只有一个实例,并提供一个全局可访问该实例的访问点。 使用场景 当一个对象需要在整个应用程序中只有一个实例时,就可以考虑使用单例模式。如: 全局状态管理 路由管理 模态框管理 数据库连接池 WebSocket连接管理等。 基本实现方式 let…

    JavaScript 2023年6月10日
    00
  • JS ES6多行字符串与连接字符串的表示方法

    JS ES6多行字符串与连接字符串的表示方法可以使用模板字面量(Template literal)表示。以反引号(`)为开始和结束字符的字符串都是模板字面量。 在模板字面量中使用多行字符串,可以直接使用换行符(\n)或回车符(\r)实现,不需要使用转义符(\)。 在模板字面量中使用连接字符串,可以使用${}包裹表达式,实现字符串拼接。 以下是JS ES6多行…

    JavaScript 2023年5月28日
    00
  • JavaScript实现加密与解密详解

    JavaScript实现加密与解密详解 在现代应用程序中,数据的安全性非常重要。其中一种保护数据安全的方式是使用加密算法。JavaScript是一种流行的编程语言,经常用于在浏览器中实现安全性。 本文将详细讲解使用JavaScript实现加密和解密的详细步骤,包括两个示例。 加密 Base64加密 Base64是一种用于数据传输的编码方案。它将任意二进制数据…

    JavaScript 2023年5月19日
    00
  • JS 中Proxy代理和 Reflect反射方法示例详解

    JS 中Proxy代理和 Reflect反射方法示例详解 什么是 Proxy 代理 在 ES6 中,我们可以使用 Proxy 对象来创建代理对象。代理对象可以拦截并改变底层 JavaScript 引擎对原始对象的默认行为,从而实现自定义行为。 创建一个代理对象的基本语法如下: let proxy = new Proxy(target, handler) 其中…

    JavaScript 2023年6月10日
    00
  • js 原型对象和原型链理解

    JS 原型对象和原型链理解 在 JavaScript 中,每个对象都有一个内部属性 [[Prototype]],也可以叫做原型,它指向另一个对象,而后者则有自己的原型,这样就形成了一个链接的原型链。最终的原型指向 null。 原型对象 原型对象是函数对象的一个属性 prototype,它是一个对象,包含了一些属性和方法,这些属性和方法会被实例对象所继承。每当…

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