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

相关文章

  • 引用外部js乱码问题分析及解决方案

    下面我将详细讲解“引用外部js乱码问题分析及解决方案”的完整攻略。 问题分析 当我们在网页中通过<script>标签引入外部JS脚本时,有时可能会出现乱码的问题,导致JavaScript代码无法正常执行。 这种乱码问题,一般出现在使用非ASCII字符编码的JavaScript文件时。因为在该文件未被正确处理的情况下,JavaScript引擎会将其…

    JavaScript 2023年5月19日
    00
  • 简略的前端架构心得&&基于editor为例子的编码小技巧

    简略的前端架构心得 1. 架构思路 前端架构要着眼于以下几点: 模块化:将复杂的代码分解为互相独立的模块,方便维护和重构。 可维护性:让代码易读易懂,易于维护和修复。 可扩展性:为未来新增功能或需求留出空间。 代码复用:将重复代码,如工具函数,封装为公共模块,提高代码复用率并降低出错率。 2. 前端架构实践 2.1 React 架构 React 是一种基于组…

    JavaScript 2023年5月19日
    00
  • Asp与JS的数组和字符串下标介绍

    Asp和JS都是常用的Web编程语言,数组和字符串是它们中非常重要的数据结构。下面来详细讲解一下Asp与JS的数组和字符串下标,以及使用示例。 数组下标 JS数组下标 JS数组下标从0开始,每个元素占据一个整数下标。可以使用以下语法创建JS数组:var arr = [val1, val2, …, valn];。其中,val1到valn为数组元素。 访问J…

    JavaScript 2023年5月27日
    00
  • 利用layer实现表单完美验证的方法

    利用layer实现表单完美验证的方法: 为了实现表单验证,我们需要引入layer插件,然后编写相关的代码。下面是详细的攻略: 1. 引入layer插件 在页面头部引入layer插件的js和css代码,例如: <link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/…

    JavaScript 2023年6月10日
    00
  • 显示js对象所有属性和方法的函数

    要显示 JS 对象的所有属性和方法,需要使用以下两种方法之一。 方法一:for…in 循环 使用 for…in 循环可遍历该对象所有可枚举的属性名称,从而显示对象的属性和方法。 function showProperties(obj) { for (var propName in obj) { console.log(propName); } } 该…

    JavaScript 2023年5月27日
    00
  • mockjs,json-server一起搭建前端通用的数据模拟框架教程

    搭建前端数据模拟框架可以帮助我们在开发前端页面时,模拟后端数据库返回的数据,提高开发效率。本文将详细讲解如何使用mockjs和json-server搭建前端通用的数据模拟框架。 1. 安装mockjs和json-server 首先,在项目根目录下安装mockjs和json-server: npm install mockjs json-server –sa…

    JavaScript 2023年5月27日
    00
  • Ajax 数据请求的简单分析

    下面我将为你详细讲解“Ajax 数据请求的简单分析”的完整攻略。 什么是Ajax Ajax即Asynchronous JavaScript and XML。它是利用JS和XML进行异步通信技术的一种方法。 当我们在浏览器中访问网页时,通常情况下需要向服务器请求数据,服务器通过传统的方式返回数据并展示在浏览器上。而使用Ajax技术,可以在不重新加载整个网页的情…

    JavaScript 2023年6月11日
    00
  • JavaScript入门教程(5) js Screen屏幕对象

    JavaScript入门教程(5) js Screen屏幕对象 简介 Screen 对象代表了当前浏览器所在电脑的屏幕信息。通过 Screen 对象,我们可以获取到客户端屏幕的宽、高、物理宽、高、可用宽、高等相关信息,可以方便设计响应式页面。 属性 Screen.width 获取当前屏幕的宽度。 Screen.height 获取当前屏幕的高度。 Screen…

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