基于JS代码实现简单易用的倒计时 x 天 x 时 x 分 x 秒效果

实现倒计时的方式有很多种,下面我将详细讲解一种基于JavaScript代码实现简单易用的倒计时效果的攻略。

步骤一:HTML结构

首先,我们需要在HTML中构建出需要展示倒计时的元素,我们可以使用两个div元素,其中一个用来显示时分秒,另一个用来显示天数。

以下是示例代码:

<div id="countdown">
  <div id="countdown-days"></div>
  <div id="countdown-time"></div>
</div>

步骤二:CSS样式

接下来需要为倒计时元素设置样式,如宽度、高度、背景颜色、字体大小等。

以下是示例代码:

#countdown {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 60px;
  background-color: #ccc;
  font-size: 24px;
  font-weight: bold;
}

#countdown-days {
  margin-right: 10px;
  padding: 5px 10px;
  background-color: #555;
  color: #fff;
}

#countdown-time {
  padding: 5px 10px;
  background-color: #444;
  color: #fff;
}

步骤三:JavaScript代码

接下来是最重要的部分,通过JavaScript代码实现倒计时效果。首先,我们需要获取倒计时结束的日期时间,然后计算出与当前时间的时间差,最后以天、时、分、秒的形式展示出来。

以下是示例代码:

//设置倒计时结束的日期时间
const countdownDate = new Date("2022-01-01 00:00:00").getTime();

//每秒更新一次倒计时
const interval = setInterval(() => {
  //获取当前时间
  const now = new Date().getTime();

  //计算与结束时间的时间差
  const diff = countdownDate - now;

  //计算天数、小时数、分钟数、秒数
  const days = Math.floor(diff / (1000 * 60 * 60 * 24));
  const hours = Math.floor((diff % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
  const minutes = Math.floor((diff % (1000 * 60 * 60)) / (1000 * 60));
  const seconds = Math.floor((diff % (1000 * 60)) / 1000);

  //更新倒计时元素内容
  document.getElementById("countdown-days").innerHTML = `${days} 天`;
  document.getElementById("countdown-time").innerHTML = `${hours} 时 ${minutes} 分 ${seconds} 秒`;

  //倒计时结束时清除定时器
  if (diff <= 0) {
    clearInterval(interval);
  }
}, 1000);

步骤四:完整代码

以下是完整的HTML、CSS、JavaScript代码示例:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>倒计时示例</title>
    <style>
      #countdown {
        display: flex;
        justify-content: center;
        align-items: center;
        height: 60px;
        background-color: #ccc;
        font-size: 24px;
        font-weight: bold;
      }

      #countdown-days {
        margin-right: 10px;
        padding: 5px 10px;
        background-color: #555;
        color: #fff;
      }

      #countdown-time {
        padding: 5px 10px;
        background-color: #444;
        color: #fff;
      }
    </style>
  </head>
  <body>
    <div id="countdown">
      <div id="countdown-days"></div>
      <div id="countdown-time"></div>
    </div>

    <script>
      //设置倒计时结束的日期时间
      const countdownDate = new Date("2022-01-01 00:00:00").getTime();

      //每秒更新一次倒计时
      const interval = setInterval(() => {
        //获取当前时间
        const now = new Date().getTime();

        //计算与结束时间的时间差
        const diff = countdownDate - now;

        //计算天数、小时数、分钟数、秒数
        const days = Math.floor(diff / (1000 * 60 * 60 * 24));
        const hours = Math.floor((diff % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
        const minutes = Math.floor((diff % (1000 * 60 * 60)) / (1000 * 60));
        const seconds = Math.floor((diff % (1000 * 60)) / 1000);

        //更新倒计时元素内容
        document.getElementById("countdown-days").innerHTML = `${days} 天`;
        document.getElementById("countdown-time").innerHTML = `${hours} 时 ${minutes} 分 ${seconds} 秒`;

        //倒计时结束时清除定时器
        if (diff <= 0) {
          clearInterval(interval);
        }
      }, 1000);
    </script>
  </body>
</html>

示例说明

示例一:

假设我们现在需要倒计时到2022年1月1日,并将倒计时以天、时、分、秒的形式展示出来。我们可以在HTML中构建以下结构:

<div id="countdown">
  <div id="countdown-days"></div>
  <div id="countdown-time"></div>
</div>

然后在JavaScript代码中设置倒计时结束的日期时间,并以每秒更新一次的方式计算与当前时间的时间差,最后以天、时、分、秒的形式更新倒计时元素内容。

完整代码如下:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>倒计时示例</title>
    <style>
      #countdown {
        display: flex;
        justify-content: center;
        align-items: center;
        height: 60px;
        background-color: #ccc;
        font-size: 24px;
        font-weight: bold;
      }

      #countdown-days {
        margin-right: 10px;
        padding: 5px 10px;
        background-color: #555;
        color: #fff;
      }

      #countdown-time {
        padding: 5px 10px;
        background-color: #444;
        color: #fff;
      }
    </style>
  </head>
  <body>
    <div id="countdown">
      <div id="countdown-days"></div>
      <div id="countdown-time"></div>
    </div>

    <script>
      //设置倒计时结束的日期时间
      const countdownDate = new Date("2022-01-01 00:00:00").getTime();

      //每秒更新一次倒计时
      const interval = setInterval(() => {
        //获取当前时间
        const now = new Date().getTime();

        //计算与结束时间的时间差
        const diff = countdownDate - now;

        //计算天数、小时数、分钟数、秒数
        const days = Math.floor(diff / (1000 * 60 * 60 * 24));
        const hours = Math.floor((diff % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
        const minutes = Math.floor((diff % (1000 * 60 * 60)) / (1000 * 60));
        const seconds = Math.floor((diff % (1000 * 60)) / 1000);

        //更新倒计时元素内容
        document.getElementById("countdown-days").innerHTML = `${days} 天`;
        document.getElementById("countdown-time").innerHTML = `${hours} 时 ${minutes} 分 ${seconds} 秒`;

        //倒计时结束时清除定时器
        if (diff <= 0) {
          clearInterval(interval);
        }
      }, 1000);
    </script>
  </body>
</html>

示例二:

假设我们现在需要倒计时10分钟,并将倒计时以秒的形式展示出来。我们可以在HTML中构建以下结构:

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

然后在JavaScript代码中设置倒计时结束的日期时间,并以每秒更新一次的方式计算与当前时间的时间差,最后以秒的形式更新倒计时元素内容。

完整代码如下:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>倒计时示例</title>
    <style>
      #countdown {
        height: 60px;
        font-size: 24px;
        font-weight: bold;
      }
    </style>
  </head>
  <body>
    <div id="countdown"></div>

    <script>
      //设置倒计时结束的日期时间
      const countdownDate = new Date().getTime() + 10 * 60 * 1000;

      //每秒更新一次倒计时
      const interval = setInterval(() => {
        //获取当前时间
        const now = new Date().getTime();

        //计算与结束时间的时间差
        const diff = countdownDate - now;

        //计算剩余秒数
        const seconds = Math.floor(diff / 1000);

        //更新倒计时元素内容
        document.getElementById("countdown").innerHTML = `${seconds} 秒`;

        //倒计时结束时清除定时器
        if (diff <= 0) {
          clearInterval(interval);
        }
      }, 1000);
    </script>
  </body>
</html>

以上就是实现倒计时的完整攻略,总体来说,实现倒计时效果需要HTML、CSS、JavaScript三部分代码配合完成。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:基于JS代码实现简单易用的倒计时 x 天 x 时 x 分 x 秒效果 - Python技术站

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

相关文章

  • JavaScript中常用的验证reg

    下面是详细讲解“JavaScript中常用的验证reg”的完整攻略。 正则表达式简介 正则表达式是一种描述性的语言,用于描述字符的模式匹配的规则。它通常被用于搜索、替换操作以及表单验证等场景中。 JavaScript中的正则表达式被表示为一个正则表达式对象,可以通过RegExp()构造函数创建。正则表达式对象包括一个模式和一些标记,用于指定匹配的方式。 基本…

    JavaScript 2023年6月10日
    00
  • js和as的稳定传值问题解决

    下面是 “js和as的稳定传值问题解决”的完整攻略。 问题描述 在从JS向AS3进行通讯时,为了保证数据的正确和稳定传递,需要使用ExternalInterface.call 和 ExternalInterface.addCallback 方法进行数据的传递。但是,在使用过程中,发现有些情况下这些方法并不总是稳定的。 解决方法 为了解决传递数据的稳定性问题,…

    JavaScript 2023年6月11日
    00
  • javascript常用的设计模式

    JavaScript常用的设计模式 设计模式是一种解决特定类问题的经验总结,是经验的提炼。在JavaScript中,设计模式可以帮助我们避免重复的代码,提高代码的可维护性和可读性。下面是常见的JavaScript设计模式: 工厂模式 工厂模式是一种创建型模式,通过定义一个用于创建对象的接口来创建具体的对象实例。 function Car(type, bran…

    JavaScript 2023年6月10日
    00
  • JS课堂笔记(4.17-4.21)

    一、循环  1.在程序中,一组被重复执行的语句被称为循环体,能否继续重复执行,取决于循环的终止条件。由循环体及循环的终止条件组成的语句,被称为循环语句。 2.循环执行的过程是①第一次循环:第一次赋值,然后条件判断,执行循环体,最后执行累计。 ②非第一次循环:条件判断,执行循环体,最后执行累计。 3.continue,跳过本次进入下一次循环,从continue…

    JavaScript 2023年4月24日
    00
  • 用nodejs实现json和jsonp服务的方法

    以下是详细讲解“用nodejs实现json和jsonp服务的方法”的完整攻略。 什么是JSON和JSONP JSON (JavaScript Object Notation)是一种轻量级的数据交换格式,易于读写、快速解析和生成,通常用于客户端与服务器之间的数据传输。 JSONP (JSON with Padding)是一种跨域通信技术,它利用了标签的跨域特性…

    JavaScript 2023年5月27日
    00
  • javascript中parseInt()函数的定义和用法分析

    下面我就来为你介绍一下JavaScript中parseInt()函数的定义和用法分析。 1. 定义 parseInt()是JavaScript中的一个全局函数,用于将字符串解析成整数。该函数接收两个参数:要转换为整数的字符串和一个可选的进制数,表示要解析的字符串是几进制的。如果不提供进制数,则默认采用十进制。 2. 用法分析 2.1 解析十进制 下面是一个解…

    JavaScript 2023年5月27日
    00
  • 详解Bootstrap创建表单的三种格式(一)

    我可以给你详细讲解一下“详解Bootstrap创建表单的三种格式(一)”的完整攻略。 标题 首先,我们需要了解Bootstrap是什么以及它的作用。Bootstrap是Twitter公司开源的一款前端开发框架,主要用于快速实现响应式布局和美化各类界面。特别是在表单的开发中,它们的优势会显得更加明显。Bootstrap提供了三种创建表单的格式,接下来分别进行详…

    JavaScript 2023年6月10日
    00
  • 21个值得收藏的Javascript技巧

    下面就是“21个值得收藏的Javascript技巧”的完整攻略。 1. 使用变量解构(destructuring)来简化你的代码 解构可以让你从一个数据结构中将数据提取到单独的变量中,从而简化你的代码。示例: const obj = { a: 1, b: 2, c: 3 }; // 使用解构简化代码 const { a, b } = obj; console…

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