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

yizhihongxing

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日

相关文章

  • js实现日期级联效果

    当我们需要在日期选择器中实现级联效果时,需要知道选择器之间的依赖关系,例如年份选择器与月份选择器、月份选择器与日期选择器的关系。在JavaScript中,我们可以通过以下几个步骤来实现日期级联效果: 1. 获取DOM元素 首先需要获取到页面上对应的DOM元素,为每个日期选择器都添加一个id,例如: <select id="year"…

    JavaScript 2023年5月27日
    00
  • js实现简单的随机点名器

    下面我将详细讲解“js实现简单的随机点名器”的完整攻略。 一、实现思路 准备一个名单数组,数组中包含所有需要点名的人员姓名; 编写js代码,随机在名单数组中选择一项,输出被选中的人员姓名。 二、代码实现 2.1 准备名单数组 // 名单数组 const nameList = [‘张三’, ‘李四’, ‘王五’, ‘赵六’]; 2.2 随机选取名单中的一项 /…

    JavaScript 2023年6月11日
    00
  • JavaScript 函数节流详解及方法总结

    JavaScript 函数节流详解及方法总结 什么是函数节流? 函数节流是指限制某个函数在一定时间内只能执行一次,即使触发的次数很多。通常我们在处理一些会频繁触发的事件时,如 scroll、resize 等事件时,使用函数节流可以优化程序性能。 函数节流方法 1. 使用定时器 使用定时器是函数节流的最简单方式,使用 setTimeout 函数实现。该方式存在…

    JavaScript 2023年5月27日
    00
  • js各种验证文本框输入格式(正则表达式)

    下面是详细讲解“js各种验证文本框输入格式(正则表达式)”的完整攻略。 一、什么是正则表达式 正则表达式是一种描述字符模式的方法,可以用来匹配、搜索、替换字符串等。在JavaScript中,可以使用内置对象RegExp来创建正则表达式。 正则表达式的基本语法如下: /pattern/modifiers; 其中,pattern是要匹配的模式,modifiers…

    JavaScript 2023年6月10日
    00
  • JavaScript 实现自己的安卓手机自动化工具脚本(推荐)

    以下是完整的攻略: JavaScript 实现自己的安卓手机自动化工具脚本(推荐) 简介 本文介绍如何使用 JavaScript 实现自己的安卓手机自动化工具脚本。通过这种方式,您可以自动化控制您的安卓手机进行各种任务,提高工作效率。本文采用 Appium + JavaScript 的组合实现。 准备 安装 Node.js。Node.js 是一个让 Java…

    JavaScript 2023年6月11日
    00
  • 贴一个在Mozilla中常用的Javascript代码

    关于“贴一个在Mozilla中常用的Javascript代码”的完整攻略,我可以从以下方面进行详细讲解: 1. 熟悉 Mozilla 平台环境 在 Mozilla 平台下编写 Javascript 代码,需要先熟悉它的基本环境,包括: Gecko 内核:Mozilla 平台使用 Gecko 解析 HTML、CSS 等标记语言,并执行 Javascript 脚…

    JavaScript 2023年6月10日
    00
  • JavaScript promise的使用和原理分析

    下面是关于“JavaScript promise的使用和原理分析”的完整攻略。 简介 Promise 是 JavaScript 中一种较新的异步编程解决方案,用于解决回调函数嵌套过多的问题,使异步代码更加易于维护和阅读。Promise 对象代表了未来将要发生的事件,它是异步操作的结果的一个临时存储对象,可以让我们像同步操作一样去处理异步操作的结果。 Prom…

    JavaScript 2023年5月28日
    00
  • 解读邮箱正则表达式:^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

    首先,这个正则表达式用于验证邮箱的格式是否正确。下面我会逐个解读每一个符号的含义。 ^ 表示匹配字符串的开头。 \w+ 表示匹配字母、数字、下划线至少一次,这部分表示邮箱用户名部分。 ([-+.]\w+)* 表示匹配特殊字符 -、+、. 后面跟一个或多个字母、数字、下划线,0次或多次。这部分表示邮箱用户名中的特殊字符部分,可以没有。 @ 表示匹配到 at 符…

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