原生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日

相关文章

  • JavaScript 中使用 Generator的方法

    JavaScript 中使用 Generator 是一种非常强大的技术,可以将异步代码写得更加简单易懂,但对于初学者来说,掌握 Generator 并不是一件容易的事情。下面是使用 Generator 的详细攻略: 什么是 Generator Generator 是 ES6 中的新特性,它是一种函数,可以暂停并恢复函数执行。在 Generator 函数中,我…

    JavaScript 2023年6月10日
    00
  • html嵌入javascript代码的三种方式

    HTML嵌入JavaScript代码通常有三种方式:内联(Inline)、内部(Internal)、外部(External)。 Inline(内联) 内联是将JavaScript代码直接写在HTML元素的属性中。由于代码与HTML元素混合在一起,这种方式不易维护和阅读,推荐在特定环境下使用。 以下是内联的示例: <button onclick=&quo…

    JavaScript 2023年5月18日
    00
  • Jupyter Notebook运行JavaScript的方法

    Jupyter Notebook 是一种交互式的笔记本,非常适合数据分析、数据可视化、教育和科学计算等任务。它支持多种编程语言和交互式的数据可视化,其中也包括 JavaScript。下面我将详细讲解如何在 Jupyter Notebook 中运行 JavaScript。 安装和启动 使用 Jupyter Notebook 运行 JavaScript,需要先在…

    JavaScript 2023年5月27日
    00
  • Javascript中的 “&” 和 “|” 详解

    当我们使用JavaScript进行位操作时,可能会遇到“&”和“|”这两个符号。这两个符号分别代表按位与和按位或操作。在本文中,我们将深入讲解“&”和“|”这两个符号的详细用法。 按位与操作(&) 按位与操作的基本规则是,将两个二进制数字进行按位与操作,对于相同位置的二进制数字,当且仅当两个数字都是1时,结果为1,否则结果为0。 代码…

    JavaScript 2023年5月17日
    00
  • js购物车实现思路及代码(个人感觉不错)

    下面是我对“js购物车实现思路及代码(个人感觉不错)”这篇文章的详细讲解。 一、思路概述 文章中的购物车实现主要包括三个部分:商品页面展示、购物车页面展示、购物车功能实现。其中,商品页面展示和购物车页面展示主要是前端页面的设计,而购物车功能实现则需要用到 JavaScript。 具体实现流程如下: 在商品页面设计商品列表,每个商品都有一个对应的“加入购物车”…

    JavaScript 2023年6月11日
    00
  • 重试,让程序更健壮

    任何通过网络与其它应用通讯地的程序,都应该有足够的灵活性,来应对短暂的临时性故障。因为这些故障很多时候是可以自恢复的。 例如,为了避免服务过载,很多应用会采取某些限流措施,在并发请求达到一定数量时,暂时性的拒绝新的请求加入。这种情况下,尝试使用该应用的程序,一开始可能会被拒绝连接,但下一刻就好了。 因此,在设计系统时,应该考虑到此种故障。并且在条件允许时,加…

    JavaScript 2023年4月17日
    00
  • JS实现刷新网页后之前浏览位置保持不变示例详解

    JS实现刷新网页后之前浏览位置保持不变的功能,主要需要利用HTML5中的History API和Session Storage来实现。 具体过程步骤如下: 1.获取网页当前滚动位置,可以使用JavaScript代码document.documentElement.scrollTop或者document.body.scrollTop来获取当前滚动位置。 let…

    JavaScript 2023年6月11日
    00
  • 基于Jquery 解决Ajax请求的页面 浏览器后退前进功能,页面刷新功能实效问题

    针对“基于Jquery 解决Ajax请求的页面 浏览器后退前进功能,页面刷新功能实效问题”的完整攻略,可以从以下几个方面阐述。 问题分析 在使用 Ajax 进行页面无刷新交互时,如果想要实现浏览器的后退前进功能以及页面刷新功能,需要解决的问题有两个: Ajax 请求页面时,URL 并没有发生改变,因此浏览器的后退前进功能无法直接使用; 如果用户进行了 F5 …

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