js实现时分秒倒计时

JS实现时分秒倒计时

实现思路

实现时分秒倒计时的基本思路如下:

  1. 获取倒计时结束时间并转换为时间戳
  2. 获取当前时间并转换为时间戳
  3. 计算差值并转换为时分秒格式
  4. 输出倒计时结果
  5. 启动定时器,每秒钟更新一次倒计时结果

代码实现

// 获取元素
const daysEl = document.getElementById('days');
const hoursEl = document.getElementById('hours');
const minutesEl = document.getElementById('minutes');
const secondsEl = document.getElementById('seconds');

// 倒计时时间
const countdownDate = new Date('2022-01-01').getTime();

// 更新倒计时
function updateCountdown() {
  const now = new Date().getTime();
  const distance = countdownDate - now;

  // 计算时分秒
  const days = Math.floor(distance / (1000 * 60 * 60 * 24));
  const hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
  const minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
  const seconds = Math.floor((distance % (1000 * 60)) / 1000);

  // 输出倒计时
  daysEl.innerHTML = days;
  hoursEl.innerHTML = hours < 10 ? '0' + hours : hours;
  minutesEl.innerHTML = minutes < 10 ? '0' + minutes : minutes;
  secondsEl.innerHTML = seconds < 10 ? '0' + seconds : seconds;
}

// 初始加载
updateCountdown();

// 启动定时器
setInterval(updateCountdown, 1000);

示例说明

示例1

<!-- HTML -->
<p>距离2022年元旦还有:</p>
<ul>
  <li><span id="days"></span> 天</li>
  <li><span id="hours"></span> 时</li>
  <li><span id="minutes"></span> 分</li>
  <li><span id="seconds"></span> 秒</li>
</ul>

在该示例中,HTML代码中使用了四个span标签来分别表示倒计时的天数、小时数、分钟数和秒数。在JS中,我们通过获取这四个元素,然后启动定时器来不断更新倒计时的结果。

示例2

<!-- HTML -->
<p>距离2022年元旦还有:<span id="countdown"></span></p>

在该示例中,我们仅使用了一个span标签来表示倒计时,而不是使用多个span标签来分别表示天数、小时数、分钟数和秒数。在JS中,我们通过获取该元素,然后不断更新该元素的innerHTML来显示倒计时的结果。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js实现时分秒倒计时 - Python技术站

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

相关文章

  • vue 路由缓存 路由嵌套 路由守卫 监听物理返回操作

    Vue 路由缓存 Vue 路由缓存可以让我们实现页面跳转之后保留原来页面的滚动位置、输入内容等状态。在 Vue 中,仅需在路由配置中加入 keep-alive 属性即可。示例如下: <template> <div> <router-view v-if="$route.meta.keepAlive">&l…

    JavaScript 2023年6月11日
    00
  • 详解JS中的compose函数和pipe函数用法

    详解JS中的compose函数和pipe函数用法 简介 函数式编程是一种编程范式,它的特点是把函数当作基本的构建块和抽象单元,强调函数调用以表达程序的控制流和对数据的处理。在函数式编程中,函数可以像数据一样被传递和操作,灵活性很高。在JavaScript领域,函数式编程受到了越来越多的重视,并且实现了一个各种常见函数式编程工具函数库——Lodash.js。 …

    JavaScript 2023年5月27日
    00
  • 一个Js文件函数中调用另一个Js文件函数的方法演示

    为了更好地讲解“一个Js文件函数中调用另一个Js文件函数的方法演示”, 我们将分为以下几个部分介绍: 准备工作:建立两个JS文件,定义函数 示例一:在HTML文件中通过script标签依次引入两个JS文件并演示调用 示例二:通过webpack打包两个JS文件并演示调用 1. 准备工作 我们先建立两个JS文件,分别命名为 file1.js 和 file2.js…

    JavaScript 2023年5月27日
    00
  • js实现左右两侧浮动广告

    下面是关于“js实现左右两侧浮动广告”的完整攻略。 实现思路 我们首先需要确定广告层的定位方式,一般采用 position: fixed 来实现固定的效果。然后利用 JS 计算浏览器窗口的宽度,以及广告层的宽度,计算出广告层到浏览器窗口两侧的距离,以此确定广告层的位置。接着,我们需要监听浏览器窗口的 scroll 和 resize 事件,根据滚动的位置和窗口…

    JavaScript 2023年6月11日
    00
  • JavaScript函数之call、apply以及bind方法案例详解

    JavaScript函数之call、apply以及bind方法案例详解 本文将详细介绍JavaScript中的函数三大方法:call、apply、bind。它们用于改变函数内部this指向的对象,并且可以传递一些参数,方便我们灵活地调用函数。在本文中,我们将一步一步的讲解这三个函数的使用方法,并通过多个示例来详细说明其使用场景与细节问题。 call() 方法…

    JavaScript 2023年6月11日
    00
  • 介绍JavaScript中Math.abs()方法的使用

    介绍JavaScript中Math.abs()方法的使用的攻略如下: 1. Math.abs()方法的概述 Math.abs()是JavaScript内置的数学函数,用于返回一个数的绝对值。接受一个参数,返回该参数的绝对值(也就是该参数的正数)。如果参数不是数值类型,则该方法会尝试将其转换为数值类型。 2. Math.abs()方法的语法 Math.abs(…

    JavaScript 2023年5月28日
    00
  • JavaScript中array.reduce()数组方法的四种使用实例

    当我们使用JavaScript处理数组时,reduce()是一个非常有用的方法。reduce()方法允许我们通过迭代数组中的每个元素,并将它们组合成单个值来加工整个数组。下面详细来讲解如何使用reduce()方法,其中包括四种使用实例,每种用法都有一条示例。 1. 计算数组中所有元素的总和 const numbers = [1, 2, 3, 4, 5]; c…

    JavaScript 2023年5月27日
    00
  • Vue+Vant 图片上传加显示的案例

    接下来我将分享一个关于 Vue+Vant 图片上传加显示的完整攻略。我们需要安装 Vant 和 vue-cropper 插件,然后进行如下步骤: 在 HTML 中创建一个上传文件的 input 元素 <input type="file" accept="image/*" @change="handleF…

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