js实现计时器秒表功能

如果要使用 JavaScript 实现计时器秒表功能,需要遵循以下步骤:

  1. HTML 布局

首先,在 HTML 中创建一个容器用于显示计时器。这可以通过使用<div>元素创建。

<div id="timer">00:00:00</div>
  1. CSS 样式

为计时器设置样式,例如对齐方式、字体大小等。以下是一个简单的示例:

#timer {
  font-size: 40px;
  text-align: center;
}
  1. JavaScript 代码实现

为了实现计时器,我们需要编写 JavaScript 代码来控制时钟的运行。以下是基本的 JavaScript 代码框架:

let sec = 0;
let min = 0;
let hour = 0;
let timer;

function startTimer() {
  timer = setInterval(function() {
    sec++;
    if (sec == 60) {
      sec = 0;
      min++;
    }
    if (min == 60) {
      min = 0;
      hour++;
    }
    displayTime();
  }, 1000);
}

function stopTimer() {
  clearInterval(timer);
}

function resetTimer() {
  sec = 0;
  min = 0;
  hour = 0;
  displayTime();
}

function displayTime() {
  const secStr = sec < 10 ? "0" + sec : sec;
  const minStr = min < 10 ? "0" + min : min;
  const hourStr = hour < 10 ? "0" + hour : hour;
  document.getElementById("timer").innerHTML = hourStr + ":" + minStr + ":" + secStr;
}

上面的代码中,我们定义了一个计时器并将其初始化为 00:00:00。我们还定义了三个功能函数:

  • startTimer():开始计时器
  • stopTimer():停止计时器
  • resetTimer():重置计时器

startTimer()函数使用 JavaScript 中的 setInterval()方法来更新秒表。每秒钟增加 sec 值。如果时钟到达 60 秒,将增加 min 值,如果时钟到达 60 分钟,将增加 hour 值。

在每次更新后,我们调用displayTime()函数以在 HTML 中显示当前计时器值。

stopTimer () 函数使用 JavaScript 中的 clearInterval() 方法来停止计时器,并清除定时器。

resetTimer()函数将计时器数据设置为 00:00:00,并调用 displayTime() 函数以在 HTML 中显示更新后的计时器值。

最后,要在 HTML 中创建三个按钮,用于开始、停止和重置计时器:

<button onclick="startTimer()">Start</button>
<button onclick="stopTimer()">Stop</button>
<button onclick="resetTimer()">Reset</button>
  1. 示例说明

下面给出两个使用onclick调用 JavaScript 函数的示例。

<button onclick="startTimer()">Start</button>
<button onclick="stopTimer()">Stop</button>
<button onclick="resetTimer()">Reset</button>

还可以通过使用事件监听器来调用函数:

document.getElementById("start").addEventListener("click", startTimer);
document.getElementById("stop").addEventListener("click", stopTimer);
document.getElementById("reset").addEventListener("click", resetTimer);

这是一种更加标准的实现按钮点击调用函数的方式。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js实现计时器秒表功能 - Python技术站

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

相关文章

  • 关于JavaScript跨域问题及实时刷新解决方案

    关于JavaScript跨域问题及实时刷新解决方案 什么是跨域 跨域是指在一个域名下使用了另一个域名的资源。如从www.domain1.com的域名下的页面中向www.domain2.com发起ajax请求,就是跨域操作。 常见的跨域场景 域名不同 协议不同 端口不同 JavaScript跨域问题的原因 从浏览器的安全限制出发,浏览器禁止页面使用其它域名下的…

    JavaScript 2023年6月11日
    00
  • Javascript模仿淘宝信用评价实例(附源码)

    下面我来详细讲解“Javascript模仿淘宝信用评价实例(附源码)”的完整攻略。 首先,该实例主要是通过Javascript实现了一个简单的淘宝信用评价功能。用户可以通过点击不同的星星来进行评分,然后根据评分的不同,会有不同的反馈信息和评价结果。该实例的源码已经公开,可以在Github上获取。 接下来,我们来看具体的实现过程。首先,我们需要为页面添加一些基…

    JavaScript 2023年6月11日
    00
  • 原生JS 购物车及购物页面的cookie使用方法

    下面是 “原生JS 购物车及购物页面的cookie使用方法”的完整攻略。 什么是 cookie cookie 是存储在客户端(例如浏览器)中的小数据块,包含有关用户行为和偏好的信息,以及与网站相关的其他信息。网站有时需要使用 cookie 跟踪和存储有关用户的信息。 cookie 如何在购物车和购物页面使用 在购物车和购物页面中使用 cookie 有两种方法…

    JavaScript 2023年6月11日
    00
  • 15位和18位身份证JS校验的简单实例

    下面我将为你详细讲解如何实现“15位和18位身份证JS校验的简单实例”。 校验15位和18位身份证简单实例 1. 判断身份证长度 在对身份证进行校验之前,需要先判断身份证长度是否合法。根据规定,15位身份证和18位身份证长度分别是15和18位。具体实现代码如下所示: function checkIdCard(idCard) { // 判断身份证长度 if (…

    JavaScript 2023年6月10日
    00
  • JavaScript下的时间格式处理函数Date.prototype.format

    JavaScript中,我们可以使用Date对象来表示时间。Date对象提供了多种方法用来获取或者设置时间,其中Date.prototype.format()方法可以用来将日期格式化成指定格式的字符串。下面是这个函数的攻略: 1. 基本语法 dateString.format(formatString) 说明: dateString:一个日期对象 forma…

    JavaScript 2023年5月27日
    00
  • extjs4图表绘制之折线图实现方法分析

    关于“extjs4图表绘制之折线图实现方法分析”的完整攻略,我将给你详细讲解。 1. 前言 折线图是常用的一种图表类型,它可以帮助我们展示数据的变化趋势和规律。而在extjs4中,我们也可以轻松地利用其中的图表组件来绘制折线图。下面是具体实现步骤。 2. 准备工作 在开始绘制折线图之前,我们需要做一些准备工作。 首先,我们需要导入extjs4中的chart.…

    JavaScript 2023年6月10日
    00
  • js显示世界时间示例(包括世界各大城市)

    下面就是“js显示世界时间示例(包括世界各大城市)”的完整攻略。 思路概述 本代码的主要思路是通过获取当前时间(即本地时间),将其转换为世界各大城市的对应时间,并在页面上显示出来。具体实现方法是使用 JavaScript 和 Moment.js 库。 实现步骤 引入 Moment.js 库 Moment.js 是一个 JavaScript 日期处理库,可以方…

    JavaScript 2023年5月27日
    00
  • JavaScript基础知识及常用方法总结

    JavaScript是一种强大的脚本语言,广泛应用于Web开发。在学习JavaScript时,掌握一些基础知识以及常用方法非常重要。下文将详细讲解JavaScript基础知识及常用方法总结的完整攻略。 1. JavaScript的基础知识 1.1 数据类型 JavaScript有6种基本数据类型,分别为:字符串(string)、数字(number)、布尔(b…

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