前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >建立一个倒计时器

建立一个倒计时器

作者头像
Lemon黄
发布2024-08-19 15:11:52
1090
发布2024-08-19 15:11:52
举报
文章被收录于专栏:Lemon黄

介绍

通过创建一个倒计时网站,来学习和练习Javascript,特别是关于时间操作和 DOM 更新。

概况

倒计时器允许用户设置目标日期和时间,它会连续倒计时天、小时、分钟和秒,直到倒计时结束。计时器实时更新,提供视觉吸引力和响应式设计。

功能

  • 实时倒计时:计时器每秒更新一次,显示到指定日期为止的剩余时间。
  • 响应式设计:布局无缝适应不同的设备和屏幕尺寸。
  • 可设置的结束日期:可以轻松修改目标日期和时间,使计时器适用于各种事件。

使用的技术

  • html:用于构建网页上的内容。
  • css:用于设计网页样式并确保响应能力。
  • Javascript:实现计算剩余事件并实时更新 DOM。

项目结构

代码语言:javascript
复制
countdown-timer/
├── index.html
├── style.css
└── script.js
  • index.html:包含网页的 HTML 结构
  • style.css:保存 css 样式,包含响应式设计规则
  • script.js:使用 JavaScript 管理倒计时逻辑和 DOM 更新。

构建步骤

创建项目

开始项目,先按照项目结构创建号文件夹和文件。

打开目录

代码语言:javascript
复制
cd countdown-timer

运行项目

可以在本地服务器上运行它,也可以通过 web 浏览器直接打开 index.html 文件。

index.html

index.html文件包含网页的结构,包括倒计时显示和简单的标题。下面是 HTML 代码片段:

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>倒计时器</title>
    <!-- 引入样式文件 -->
    <link rel="stylesheet" href="./style.css">
  </head>
  <body>
    <div class="main">
      <div class="overlay">
        <div class="header">
          <h1>倒计时器</h1>
        </div>
        <div class="title">我们即将到来</div>
        <div class="title" id="end-date">2025-08-08 10:00</div>
        <div class="col">
          <div>
            <input type="text" readonly value="0">
            

            <label>天</label>
          </div>
          <div>
            <input type="text" readonly value="0">
            

            <label>时</label>
          </div>
          <div>
            <input type="text" readonly value="0">
            

            <label>分</label>
          </div>
          <div>
            <input type="text" readonly value="0">
            

            <label>秒</label>
          </div>
        </div>
        <div class="footer">
          <p>Made with ❤️ by zerokk</p>
        </div>
      </div>
    </div>
    <!-- 引入脚本文件 -->
    <script src="./script.js"></script>
  </body>
</html>

style.css

style.css文件包含确保网页具有视觉吸引力的样式,并包括对不同屏幕尺寸的响应能力。以下是一些关键样式:

代码语言:javascript
复制
* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    font-family: 'Poppins', sans-serif;
}

.main {
    width: 100%;
    height: 100vh;
    background: url(./images/bg.jpg) no-repeat center center;
    background-size:cover;
}

.overlay {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    color: white;
}

.title {
    color: white;
    text-align: center;
    font-size: 2.5rem;
    padding: 25px;
}

.col {
    margin-top: 10px;
    width: 1000px;
    color: white;
    justify-content: center;
    display: flex;
}

.col div {
    width: 250px;
    text-align: center;
}

input {
    background-color: rgba(255, 255, 255, 0.9);
    background-color: transparent;
    border-radius: 5px;
    height: 50px;
    text-align: center;
    font-size: 20px;
    color: white;
}

.header {
    margin: 40px;
    text-align: center;
}

.footer {
    margin: 300px;
    text-align: center;
}

script.js

script.js文件管理倒计时逻辑,每秒更新一次显示。下面是 JavaScript 代码的片段:

代码语言:javascript
复制
const endData = "2025-08-08 10:00";

document.getElementById("end-date").innerText = endData;
const input = document.querySelectorAll("input");

function countDown() {
    const end = new Date(endData);
    const now = new Date();
    const diff = (end - now) / 1000;

    if (diff < 0) return;

    input[0].value = Math.floor(diff / 3600 / 24);
    input[1].value = Math.floor(diff / 3600 % 24);
    input[2].value = Math.floor(diff / 60 % 60);
    input[3].value = Math.floor(diff % 60);
}

countDown();
setInterval(countDown, 1000);

演示与用法

到这里,一个简单的倒计时就完成了,如下所示:图中的背景图片可以自己找一张。

用法:

  1. 打开 index.html。
  2. 观察计时器倒计时至指定的结束日期。
  3. 在 script.js 文件中自定义结束日期来满足你的需求。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-08-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 莫奈黄 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
  • 概况
  • 功能
  • 使用的技术
  • 项目结构
  • 构建步骤
    • 创建项目
      • 打开目录
        • 运行项目
          • index.html
            • style.css
              • script.js
              • 演示与用法
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档