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

yizhihongxing

下面是关于原生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基本的输出和嵌入式写法教程

    JavaScript基本的输出和嵌入式写法教程 简介 JavaScript 是一种脚本语言,广泛应用于 Web 开发中。在这篇教程中,我们将讲解 JavaScript 的基本输出和嵌入式写法,以帮助初学者理解 JavaScript 中的语法规则。 输出 JavaScript 在 JavaScript 中,可以使用 console.log() 函数来输出内容。…

    JavaScript 2023年5月18日
    00
  • 整理Javascript流程控制语句学习笔记

    下面为你详细讲解“整理Javascript流程控制语句学习笔记”的完整攻略。 攻略概述 本攻略旨在帮助读者更好地理解和掌握Javascript中的流程控制语句,涵盖以下内容: 分类介绍Javascript中的流程控制语句。 详细讲解Javascript中每种流程控制语句的用法、语法和示例。 给出实际例子,帮助读者理解流程控制语句的应用场景。 提供学习Java…

    JavaScript 2023年5月27日
    00
  • Javascript 常见的高阶函数详情

    Javascript 常见的高阶函数详情 什么是高阶函数? 高阶函数指接受函数作为参数或者返回一个函数的函数,这些函数能够方便地组合代码以及增强函数的功能。在Javascript中,高阶函数是一种强大的编程工具,它们可以让我们以更简洁、优雅、灵活和模块化的方式编写代码。 为什么要使用高阶函数? 使用高阶函数具有以下优势: 更加灵活:高阶函数可以接受不同的函数…

    JavaScript 2023年5月27日
    00
  • 前端设计模式——依赖注入模式

    依赖注入模式(Dependency Injection Pattern):允许我们通过将对象的依赖关系从代码中分离出来,从而使代码更加模块化和可重用。 在传统的编程模式中,一个对象可能会直接创建或者获取它需要的其他对象,这样会造成对象之间的紧耦合关系,难以维护和扩展。而使用依赖注入模式,则可以将对象的依赖关系从对象内部移到外部,从而实现松耦合的设计,便于维护…

    JavaScript 2023年4月18日
    00
  • js实现数据双向绑定(访问器监听)

    数据双向绑定是前端开发中常用的技术,可以实现数据和页面UI的同步更新。其中一种常用的实现方式是使用访问器监听。以下是实现数据双向绑定的完整攻略: 步骤一:创建数据对象 首先,需要在Javascript中创建一个数据对象,该对象的属性可以通过访问器方法来监控对象属性的读取和修改。 let data = {} // 创建一个数据对象 Object.defineP…

    JavaScript 2023年6月10日
    00
  • 深入了解JavaScript词法作用域

    深入了解JavaScript词法作用域 什么是词法作用域? 词法作用域指的是变量的作用域是在代码中定义时就确定的,而不是在运行时确定。JavaScript采用的是词法作用域,也就是静态作用域。 当在代码中执行变量引用时,JavaScript引擎会根据词法作用域(也就是代码中定义的位置)来决定该变量的值。 在JavaScript中,变量有两种:全局变量和局部变…

    JavaScript 2023年6月10日
    00
  • 常见的JS字符串属性与方法集锦

    让我们来详细讲解一下JS字符串属性与方法的常见用法。 字符串的属性 字符串是一个基本的数据类型,在JavaScript中,字符串属性和方法是相当的丰富。我们来看看一些常见的字符串属性: length 字符串的 length 属性是一个在字符串中含有的字符数,比如: const str = "hello world"; console.lo…

    JavaScript 2023年5月19日
    00
  • JavaScript操作XML文件之XML读取方法

    一、前言 XML是一种数据传输格式,极为常见。在JavaScript中,通过XMLHttpRequest对象即可访问XML资源。本文重点是通过XML DOM来对XML文件进行读取。 二、XML DOM简介 XML DOM(XML Document Object Model),即XML文档对象模型。在JavaScript中,通过XML DOM可以操作XML文档…

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