首页 >web前端 >css教程 >建立一个番茄计时器网站

建立一个番茄计时器网站

王林
王林原创
2024-08-25 20:31:36392浏览

Build a Pomodoro Timer Website

介绍

开发者们大家好!我很高兴向大家介绍我的最新项目:番茄计时器。该项目非常适合任何想要提高时间管理技能或练习前端开发的人。番茄计时器是一款简单但功能强大的工具,旨在帮助您将工作分成几个有重点的时间间隔,提高工作效率并保持全天的专注。

项目概况

番茄计时器是一款基于网络的应用程序,允许用户为集中工作设置计时器,通常为 25 分钟,然后进行短暂休息。该项目演示了如何使用 JavaScript 创建功能计时器,以及使用 HTML 和 CSS 创建干净且响应灵敏的用户界面。

特征

  • 简单的计时器界面:极简设计,显示倒计时器和控件。
  • 启动、停止、重置:用户可以使用易于使用的按钮启动、停止和重置计时器。
  • 通知警报:当计时器达到零时,会触发警报,表示会话结束。

使用的技术

  • HTML:提供番茄计时器的结构。
  • CSS:设置计时器的样式,确保简洁、现代的设计。
  • JavaScript:实现计时器的核心功能,包括倒计时逻辑和用户交互。

项目结构

以下是项目结构的概述:

Pomodoro-Timer/
├── index.html
├── style.css
└── script.js
  • index.html:包含番茄计时器的 HTML 结构。
  • style.css:包含 CSS 样式,以实现具有视觉吸引力和响应式设计。
  • script.js:管理计时器功能,包括倒计时和用户交互。

安装

要开始该项目,请按照以下步骤操作:

  1. 克隆存储库

    git clone https://github.com/abhishekgurjar-in/Pomodoro-Timer.git
    
  2. 打开项目目录:

    cd Pomodoro-Timer
    
  3. 运行项目:

    • 在网络浏览器中打开index.html文件以使用番茄计时器。

用法

  1. 在网络浏览器中打开网站
  2. 点击“开始”按钮启动计时器
  3. 停止或重置根据需要使用“停止”和“重置”按钮来计时。
  4. 专注于你的工作直到计时器为零,然后在开始下一个会话之前短暂休息。

代码说明

超文本标记语言

index.html 文件定义了番茄计时器的结构,包括标题、计时器显示和控制按钮。这是一个片段:

8b05045a5be5764f313ed5b9168a17e6
49099650ebdc5f3125501fa170048923
  93f0f5c25f18dab9d176bd4f6de5d30e
    7c8d9f814bcad6a1d7abe4eda5f773e5
    26faf3d1af674280d03ba217d87e9421
    b2386ffb911b14667cb8f0f91ea547a7Pomodoro Timer6e916e0f7d1e588d4f442bf645aedb2f
    af75c476cdb7e6c074ca6da9b40841de
    90392ec4442ad9ff612213ec639da4832cacc6d41bbb37262a98f745aa00fbf0
  9c3bca370b5104690d9ef395f2c5f8d1
  6c04bd5ca3fcae76e30b72ad730ca86d
    4883ec0eb33c31828b7c767c806e14c7
      527db218a609cb4e96157e28dc6f988cPomodoro Timer473f0a7621bec819994bb5020d29372a
      38e8f75036b4e9396a1cc6cc0591514e25:0094b3e26ee717c64999d7867364b1b4a3
      60842b9d6c79533b42cd0c6cd7485212
        443c620cf48a4716b774dd4364035d74Start65281c5ac262bf6d81768915a4a77ac0
        a7a60cea450f42b2b97b16a5d74b9609Stop65281c5ac262bf6d81768915a4a77ac0
        2da760dc65e610b23ad3e603d5b03982Reset65281c5ac262bf6d81768915a4a77ac0
      16b28748ea4df4d9c2150843fecfba68
    16b28748ea4df4d9c2150843fecfba68
    ffd6ba4147bda351239915f463e46e38
      e388a4556c0f65e1904146cc1a846beeMade with ❤️ by Abhishek Gurjar94b3e26ee717c64999d7867364b1b4a3
    16b28748ea4df4d9c2150843fecfba68
  36cc49f0c466276486e50c850b7e4956
73a6ac4ed44ffec12cee46588e518a5e

CSS

style.css 文件设置番茄计时器的样式,确保其具有视觉吸引力和响应能力。以下是一些关键样式:

.container {
  margin: 0 auto;
  max-width: 400px;
  text-align: center;
  padding: 20px;
  font-family: "Roboto", sans-serif;
}

.title {
  font-size: 36px;
  margin-bottom: 10px;
  color: #2c3e50;
}

.timer {
  font-size: 72px;
  color: #2c3e50;
}

button {
  font-size: 18px;
  padding: 10px 20px;
  margin: 10px;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  text-transform: uppercase;
  transition: opacity 0.3s ease-in-out;
}

button:hover {
  opacity: 0.7;
}

#start {
  background-color: #27ae60;
}

#stop {
  background-color: #c0392b;
}

#reset {
  background-color: #7f8c8d;
}

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

JavaScript

script.js 文件包含番茄计时器的逻辑,包括倒计时机制和处理用户交互。这是一个片段:

const startEl = document.getElementById("start");
const stopEl = document.getElementById("stop");
const resetEl = document.getElementById("reset");
const timerEl = document.getElementById("timer");

let interval;
let timeLeft = 1500;

function updateTimer() {
  let minutes = Math.floor(timeLeft / 60);
  let seconds = timeLeft % 60;
  let formattedTime = `${minutes.toString().padStart(2, "0")}:${seconds
    .toString()
    .padStart(2, "0")}`;

  timerEl.innerHTML = formattedTime;
}

function startTimer() {
  interval = setInterval(() => {
    timeLeft--;
    updateTimer();
    if (timeLeft === 0) {
      clearInterval(interval);
      alert("Time's up!");
      timeLeft = 1500;
      updateTimer();
    }
  }, 1000);
}

function stopTimer() {
  clearInterval(interval);
}

function resetTimer() {
  clearInterval(interval);
  timeLeft = 1500;
  updateTimer();
}

startEl.addEventListener("click", startTimer);
stopEl.addEventListener("click", stopTimer);
resetEl.addEventListener("click", resetTimer);

现场演示

您可以在此处查看番茄计时器项目的现场演示。

结论

构建番茄计时器是一次有益的经历,它让我练习了基本的前端技能,例如 HTML、CSS 和 JavaScript。这个项目是提高生产力的一个很好的工具,我希望它能激励您创建自己的工具以更好地管理时间。快乐编码!

制作人员

这个项目是我在前端开发方面持续学习之旅的一部分,重点是创建实用且交互式的 Web 应用程序。

作者

  • 阿布舍克·古贾尔
    • GitHub 简介

以上是建立一个番茄计时器网站的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn