javascript设计简单的秒表计时器

yizhihongxing

以下是“JavaScript设计简单的秒表计时器”的完整攻略:

概述

秒表计时器是一个常见的应用,可用于计时各种活动或事件。在本教程中,我们将使用 JavaScript、HTML 和 CSS 创建一个简单的秒表计时器。

步骤

1. 创建HTML结构

首先,我们需要在HTML中创建计时器的结构。计时器将包含一个显示时间的数字和三个按钮:开始、停止和重置。

<div class="timer">
  <h1 id="display">00:00:00</h1>
  <button id="start">Start</button>
  <button id="stop">Stop</button>
  <button id="reset">Reset</button>
</div>

2. 设置CSS样式

接下来,我们需要为计时器设置CSS样式。这将包括设置样式来控制计时器的外观和布局。

.timer {
  margin: 50px auto;
  text-align: center;
  width: 300px;
}

#display {
  font-size: 60px;
  padding: 10px;
  border: 2px solid #ccc;
  border-radius: 5px;
  margin-bottom: 20px;
}

button {
  font-size: 18px;
  padding: 10px 20px;
  margin-right: 5px;
  cursor: pointer;
}

button:hover {
  background-color: #ccc;
}

button:active {
  background-color: #aaa;
}

3. 创建JavaScript逻辑

现在,我们需要为计时器创建JavaScript逻辑。我们将使用setInterval()和clearInterval()函数来启动和停止计时器。

let timer = null;
let milliseconds = 0;
let seconds = 0;
let minutes = 0;

function startTimer() {
  timer = setInterval(() => {
    milliseconds += 10;
    if (milliseconds == 1000) {
      milliseconds = 0;
      seconds++;
    }
    if (seconds == 60) {
      seconds = 0;
      minutes++;
    }
    display.innerHTML = `${minutes < 10 ? '0' + minutes : minutes}:${seconds < 10 ? '0' + seconds : seconds}:${milliseconds < 100 ? '0' + (milliseconds < 10 ? '0' + milliseconds : milliseconds) : milliseconds}`;
  }, 10);
}

function stopTimer() {
  clearInterval(timer);
}

function resetTimer() {
  clearInterval(timer);
  timer = null;
  milliseconds = 0;
  seconds = 0;
  minutes = 0;
  display.innerHTML = '00:00:00';
}

document.getElementById('start').addEventListener('click', startTimer);

document.getElementById('stop').addEventListener('click', stopTimer);

document.getElementById('reset').addEventListener('click', resetTimer);

let display = document.getElementById('display');

在这个 JavaScript 逻辑中,我们通过一个计时器变量timer跟踪计时器的状态,同时使用millisecondssecondsminutes变量来计算时间,然后每10毫秒更新一次时间并更新显示。

4. 运行并测试计时器

最后,我们将运行并测试我们的计时器。打开浏览器,运行该页面,然后使用“开始”按钮启动计时器,使用“停止”按钮停止计时器,使用“重置”按钮重置计时器。

示例一

开始计时,5秒后停止并重置

startTimer();
setTimeout(() => {
  stopTimer();
  resetTimer();
}, 5000)

示例二

开始计时,10秒后暂停,然后再次开始计时,10秒后停止并重置

startTimer();
setTimeout(() => {
  stopTimer();
  setTimeout(() => {
    startTimer();
    setTimeout(() => {
      stopTimer();
      resetTimer();
    }, 10000);
  }, 5000);
}, 10000);

结论

通过以上步骤,我们创建了一个简单的JavaScript秒表计时器。这是一个基础模板,开发者可以加以扩展和改进。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:javascript设计简单的秒表计时器 - Python技术站

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

相关文章

  • JS实现表单验证功能(验证手机号是否存在,验证码倒计时)

    请看下面的攻略。 JS实现表单验证功能(验证手机号是否存在,验证码倒计时) 概述 表单验证是Web开发中非常常见的操作,通常的表单验证方式是利用前后端的交互获取数据进行验证,但是这种方式需要进行网络请求,不仅影响用户体验,也增加了服务器的负担。而JS实现表单验证则可以在不进行网络请求的情况下,对用户输入的数据进行实时验证,从而提高用户体验以及减轻服务器压力。…

    JavaScript 2023年6月10日
    00
  • js正则表达式讲解之index属性(RegExp对象)

    JS正则表达式讲解之index属性(RegExp对象) 什么是正则表达式的index属性? 在JavaScript中,正则表达式是RegExp对象的实例。RegExp对象有一个名为index的属性,用于表示正则表达式匹配的最后一个字符的位置。 例如,对于字符串”hello world”,正则表达式/world/匹配的最后一个字符是d,其在字符串中的位置是8(…

    JavaScript 2023年6月10日
    00
  • javascript中Promise使用详解

    JavaScript中Promise使用详解 Promise是JavaScript异步编程的一种解决方案,并且越来越被广泛的应用在现代Web开发中。在这篇文章中,我们将会探讨Promise的工作原理和如何使用它们来进行异步编程。 Promise的基础知识 Promise是一种包含异步操作结果的对象,可以表示一个异步操作的最终完成或失败,以及其返回的结果值(如…

    JavaScript 2023年5月27日
    00
  • 详解js界面跳转与值传递

    关于“详解js界面跳转与值传递”的攻略,我们可以分为以下几个部分: 1. 基本的页面跳转方式 在Web应用开发中,实现页面跳转是一个非常常见的需求。在JavaScript中,我们可以使用location对象来实现页面跳转。下面是示例代码: location.href = "http://www.example.com"; // 使用hre…

    JavaScript 2023年6月11日
    00
  • json数据格式常见操作示例

    非常感谢您的关注,下面是关于“json数据格式常见操作示例”的完整攻略。 什么是JSON? JSON(JavaScript Object Notation)是一个轻量级的数据交换格式,它基于JavaScript的一个子集。与XML相比,它更加简洁、易于阅读和编写,而且占用带宽小。因此现在很多Web服务都采用JSON格式来进行数据交互。 JSON常见操作示例 …

    JavaScript 2023年5月27日
    00
  • web前端页面生成exe可执行文件的方法

    生成可执行文件的方法有很多,根据您的需求和技能水平不同,可能有多种选择。在此,本文将介绍两种常见的方法。 方法一:使用NW.js NW.js是一个基于node.js和Chromium浏览器的应用程序框架,可用于构建跨平台桌面应用程序。由于它包括一个完整的Chromium浏览器内核,因此可以将web页面打包成单个可执行文件,不需要用户安装任何浏览器就可以运行。…

    JavaScript 2023年5月27日
    00
  • JS使用Chrome浏览器实现调试线上代码

    JS使用Chrome浏览器实现调试线上代码 背景概述 开发者在线上部署的代码出现问题时,需要及时定位问题。然而,线上代码的环境不同于本地开发环境,部署过程中也可能出现各种问题,使线上代码难以调试。因此,如何使用调试工具,在线上环境快速定位问题,显得尤为重要。 工具准备 Chrome浏览器 由于Chrome浏览器功能齐全,且被广大开发者喜爱,因此在本文中,我们…

    JavaScript 2023年6月11日
    00
  • 原生JS实现匀速图片轮播动画

    下面我就详细讲解“原生JS实现匀速图片轮播动画”的完整攻略: 一、概述 图片轮播动画是网页设计中常用的效果,它能够增加页面的美感,并且能够呈现多个图片,帮助用户更好的了解网站的内容。本攻略将介绍如何使用原生JS实现匀速图片轮播动画。 二、实现步骤 1. HTML结构 首先,在HTML中需要创建一个容器,用于存储图片和轮播进度条。HTML结构如下: <d…

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