JS实现的网页倒计时数字时钟效果

JS实现的网页倒计时数字时钟效果的攻略如下:

需求

我们需要一个Web页面上实现一个倒计时数字时钟效果。

设计思路

  • 生成HTML结构
  • 使用CSS样式美化数字
  • 使用JS实现倒计时功能
  • 使用JS更新HTML内容

HTML代码

<div class="countdown">
  <span id="days"></span>天
  <span id="hours"></span>时
  <span id="minutes"></span>分
  <span id="seconds"></span>秒
</div>

在HTML中,我们定义了一个带有countdown类的div,并在其中嵌套了四个span元素,分别用于显示天数、小时数、分钟数和秒数,它们的id分别为days、hours、minutes和seconds。

CSS样式

.countdown span {
  display: inline-block;
  width: 40px;
  height: 40px;
  line-height: 40px;
  font-size: 26px;
  color: #fff;
  background-color: #666;
  text-align: center;
}

我们使用CSS样式,美化数字显示效果,设置了数字样式的宽高、行距、字体、颜色和背景,使得这些数字非常醒目。

JS代码

function countdown() {
  let now = new Date();
  let event = new Date("2022/01/01");

  let seconds = Math.floor((event - now) / 1000);
  let days = Math.floor(seconds / (60 * 60 * 24));
  seconds = seconds % (60 * 60 * 24);
  let hours = Math.floor(seconds / (60 * 60));
  seconds = seconds % (60 * 60);
  let minutes = Math.floor(seconds / 60);
  seconds = seconds % 60;

  document.getElementById("days").innerText = days;
  document.getElementById("hours").innerText = hours;
  document.getElementById("minutes").innerText = minutes;
  document.getElementById("seconds").innerText = seconds;
}

setInterval(countdown, 1000);

在JS中,我们实现了倒计时的功能。使用了多个变量,分别计算出当前时间和目标时间之间停留了多少天、小时、分钟和秒钟。然后,调用innerText方法,将计算出来的时间更新到HTML页面中。最后,使用setInterval函数,每秒调用一次countdown函数,以实现倒计时数字时钟的刷新。

示例说明

下面的示例展示了一个倒计时数字时钟,它的目标计时日期是2022年1月1日。

<!DOCTYPE html>
<html>
  <head>
    <title>Countdown Clock</title>
    <style>
      .countdown span {
        display: inline-block;
        width: 40px;
        height: 40px;
        line-height: 40px;
        font-size: 26px;
        color: #fff;
        background-color: #666;
        text-align: center;
      }
    </style>
  </head>
  <body>
    <div class="countdown">
      <span id="days"></span>天
      <span id="hours"></span>时
      <span id="minutes"></span>分
      <span id="seconds"></span>秒
    </div>
    <script>
      function countdown() {
        let now = new Date();
        let event = new Date("2022/01/01");

        let seconds = Math.floor((event - now) / 1000);
        let days = Math.floor(seconds / (60 * 60 * 24));
        seconds = seconds % (60 * 60 * 24);
        let hours = Math.floor(seconds / (60 * 60));
        seconds = seconds % (60 * 60);
        let minutes = Math.floor(seconds / 60);
        seconds = seconds % 60;

        document.getElementById("days").innerText = days;
        document.getElementById("hours").innerText = hours;
        document.getElementById("minutes").innerText = minutes;
        document.getElementById("seconds").innerText = seconds;
      }

      setInterval(countdown, 1000);
    </script>
  </body>
</html>

你可以在浏览器中打开该HTML文件,查看倒计时数字时钟效果。

另外,我们还可以使用动态生成目标日期的方式:

let eventYear = new Date().getFullYear() + 1;
let eventDate = new Date(`2022-01-01T00:00:00-05:00`);
let event = new Date(`${eventYear}-${eventDate.getMonth()+1}-${eventDate.getDate()}T${eventDate.getHours()}:${eventDate.getMinutes()}:${eventDate.getSeconds()}${eventDate.toString().match(/-(\d{2})(:\d{2})/)[1]}`);

这段代码可以确保计时目标日期不断延后,始终能够产生准确的倒计时结果。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS实现的网页倒计时数字时钟效果 - Python技术站

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

相关文章

  • JavaScript中用toString()方法返回时间为字符串

    在JavaScript中,我们可以通过使用toString()方法将时间对象转换为字符串。toString()方法是Date对象原型上定义的方法,其返回一个代表时间的字符串,以本地时间为准。 以下是使用toString()方法返回时间字符串的步骤: 创建一个日期对象 let myDate = new Date(); 调用toString()方法将日期对象转化…

    JavaScript 2023年5月27日
    00
  • jQuery时间戳和日期相互转换操作示例

    jQuery是一个非常流行的JavaScript库,它在创建交互式网站和Web应用程序方面非常有用。其中,jQuery有一个非常重要的功能就是处理日期和时间。在这篇攻略中,我们将会详细讲解如何在jQuery中处理时间戳和日期相互转换。 时间戳和日期的概念 在讨论时间戳和日期的相互转换之前,先讲解一下它们的概念。 时间戳 Unix时间戳是从1970年1月1日0…

    JavaScript 2023年5月27日
    00
  • 整理关于Bootstrap表单的慕课笔记

    接下来我将介绍如何详细整理关于Bootstrap表单的慕课笔记。整理步骤如下: 步骤一:了解Bootstrap表单 首先需要了解Bootstrap表单的基本概念和用法。可以通过查看Bootstrap官网的文档来深入了解,也可以观看相应的慕课视频,了解Bootstrap表单的基本布局、输入控件、表单验证等相关知识。 步骤二:整理笔记 根据学习所得,对Boots…

    JavaScript 2023年6月10日
    00
  • JS正则表达式一条龙讲解(从原理和语法到JS正则)

    “JS正则表达式一条龙讲解(从原理和语法到JS正则)”是一篇全面讲述JavaScript正则表达式的文章。下面将从几个方面介绍该文章的内容: 文章结构 该文章主要分为以下几个部分: 正则表达式概述 该部分简单介绍了正则表达式的定义、应用场景和组成部分。 正则表达式语法 该部分详细讲解了正则表达式语法中的各个符号和正则表达式的组合方式。其中涉及到元字符、字符类…

    JavaScript 2023年6月10日
    00
  • js捆绑TypeScript声明文件的方法教程

    下面是详细讲解“js捆绑TypeScript声明文件的方法教程”的完整攻略: 什么是TypeScript声明文件? TypeScript声明文件是描述JavaScript代码的接口和类型的文件,可以方便地为JavaScript代码提供静态类型检查和智能提示。 捆绑TypeScript声明文件的方法 方法一:使用@types包 @types包是一种官方推荐的捆…

    JavaScript 2023年5月27日
    00
  • 在页面中引入js的两种方法(推荐)

    在页面中引入JavaScript脚本有两种主要的方法,分别是通过script标签嵌入JavaScript代码和通过外部文件引入JavaScript代码。 嵌入JavaScript代码 要嵌入JavaScript代码,我们可以使用<script>标签来完成,在<script>标签中写入JavaScript代码,将其嵌入HTML页面即可。…

    JavaScript 2023年5月27日
    00
  • 解析如何利用iframe标签以及js制作时钟

    当我们需要在网页上显示时钟时,可以使用iframe标签和JS来实现。本文将详细介绍如何利用iframe标签和JS制作时钟。 步骤1:创建HTML网页 首先,在你的HTML文件中,创建一个标签,在其中指定一个id,以便在后面的JavaScript代码中引用。 <!DOCTYPE html> <html> <head> &lt…

    JavaScript 2023年6月10日
    00
  • JavaScript中也使用$美元符号来代替document.getElementById

    在JavaScript中,我们常常会使用到document对象来访问HTML元素。比如,要获取id为”myElement”的元素,可以使用document对象中的getElementById方法来获取该元素: var myElement = document.getElementById("myElement"); 这种方式非常的常见,但…

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