使用JavaScript实现网页秒表功能(含开始、暂停、继续、重置功能)

下面就为您详细讲解如何使用JavaScript实现网页秒表功能。

一、制作基本网页结构

首先,在HTML文件中添加一个包含开始、暂停、继续、重置按钮和显示计时时间的元素。具体代码如下:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>页面标题</title>
  </head>
  <body>
    <div id="timer">00:00:00</div>
    <button id="start">开始</button>
    <button id="pause">暂停</button>
    <button id="continue">继续</button>
    <button id="reset">重置</button>  
  </body>
</html>

二、编写JavaScript代码

接下来,在JavaScript文件中编写计时器相关函数,分别实现开始、暂停、继续、重置功能,具体代码如下:

var timer = null;
var time = 0;

// 开始计时
function startTimer() {
  clearInterval(timer);  // 清除计时器
  timer = setInterval(function() {
    time++;
    var hour = Math.floor(time / 3600);
    var minute = Math.floor(time / 60) % 60;
    var second = time % 60;
    var hourStr = hour < 10 ? "0" + hour : hour;
    var minuteStr = minute < 10 ? "0" + minute : minute;
    var secondStr = second < 10 ? "0" + second : second;
    document.getElementById("timer").innerHTML = hourStr + ":" + minuteStr + ":" + secondStr;
  }, 1000);
}

// 暂停计时
function pauseTimer() {
  clearInterval(timer);
}

// 继续计时
function continueTimer() {
  startTimer();
}

// 重置计时
function resetTimer() {
  time = 0;
  clearInterval(timer);
  document.getElementById("timer").innerHTML = "00:00:00";
}

// 绑定按钮事件
document.getElementById("start").addEventListener("click", startTimer);
document.getElementById("pause").addEventListener("click", pauseTimer);
document.getElementById("continue").addEventListener("click", continueTimer);
document.getElementById("reset").addEventListener("click", resetTimer);

三、实例说明

示例一:在Vue.js中使用秒表功能

在Vue.js中使用秒表功能可以使用Vue组件,并将计时器相关函数封装进组件内。具体代码如下:

<template>
  <div>
    <div class="timer">{{ hourStr }}:{{ minuteStr }}:{{ secondStr }}</div>
    <button @click="startTimer">开始</button>
    <button @click="pauseTimer">暂停</button>
    <button @click="continueTimer">继续</button>
    <button @click="resetTimer">重置</button>
  </div>
</template>

<script>
export default {
  data() {
    return {
      timer: null,
      time: 0
    }
  },
  computed: {
    hourStr() {
      return this.formatNumber(Math.floor(this.time / 3600));
    },
    minuteStr() {
      return this.formatNumber(Math.floor(this.time / 60) % 60);
    },
    secondStr() {
      return this.formatNumber(this.time % 60);
    }
  },
  methods: {
    startTimer() {
      clearInterval(this.timer);
      this.timer = setInterval(() => {
        this.time++;
      }, 1000);
    },
    pauseTimer() {
      clearInterval(this.timer);
    },
    continueTimer() {
      this.startTimer();
    },
    resetTimer() {
      this.time = 0;
      clearInterval(this.timer);
    },
    formatNumber(num) {
      return num < 10 ? "0" + num : num;
    }
  }
}
</script>

示例二:添加警报功能

网页秒表功能还可以添加警报功能,当计时器时间达到一定值时,触发警报。具体代码如下:

function checkTime() {
  var targetTime = 300; // 目标时间,单位秒
  if (time >= targetTime) {
    document.title = "时间到!"; // 修改页面标题
    alert("时间到!");
    resetTimer();
  }
}

// 在startTimer中添加checkTime
function startTimer() {
  clearInterval(timer);
  timer = setInterval(() => {
    time++;
    var hour = Math.floor(time / 3600);
    var minute = Math.floor(time / 60) % 60;
    var second = time % 60;
    var hourStr = hour < 10 ? "0" + hour : hour;
    var minuteStr = minute < 10 ? "0" + minute : minute;
    var secondStr = second < 10 ? "0" + second : second;
    document.getElementById("timer").innerHTML = hourStr + ":" + minuteStr + ":" + secondStr;
    checkTime();
  }, 1000);
}

这样就可以增加一个在计时达到目标时间后触发警报的功能。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用JavaScript实现网页秒表功能(含开始、暂停、继续、重置功能) - Python技术站

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

相关文章

  • 详解JavaScript 高阶函数

    详解JavaScript 高阶函数 什么是高阶函数? 高阶函数是指接受函数作为参数,或返回一个函数作为返回值的函数。 JavaScript 中函数是一等公民,既可以被当做普通的数据类型进行传递,同时也可以作为返回值,这使得高阶函数成为了 JavaScript 中非常重要的一个概念。 通过高阶函数,我们可以实现非常灵活的代码设计,封装一些通用的操作,让代码变得…

    JavaScript 2023年5月27日
    00
  • JS实现数组去重方法总结(六种方法)

    这里是JS实现数组去重方法总结(六种方法)的完整攻略。 一、方法一:利用ES6 Set特性去重 利用ES6新特性Set(集合)的特性,可以很方便地去重。 实现方法如下: let arr = [1, 2, 3, 4, 1]; let newArr = […new Set(arr)]; console.log(newArr); // [1, 2, 3, 4]…

    JavaScript 2023年5月27日
    00
  • javascript结合Cookies实现浏览记录历史第2/3页

    根据你的要求,我将为你详细讲解“javascript结合Cookies实现浏览记录历史第2/3页”的完整攻略。 1. 准备工作 在使用 JavaScript 结合 Cookies 实现浏览记录历史第2/3页之前,需要做以下几项准备工作:- 安装和配置本地服务器,例如 Apache 或 Nginx 等。- 构建动态网页,即需要使用服务器端语言(例如 PHP、P…

    JavaScript 2023年6月11日
    00
  • 浅谈android nexus私服的使用

    浅谈 Android Nexus 私服的使用 引言 随着 Android 开发的不断深入,项目迭代的频率也越来越快。然而,每当你切换一个项目或者重构项目时,你需要重新从互联网下载和安装所有的依赖项,这是一件非常耗时的事情。尤其是在国内网络环境下,从 Maven 中央仓库下载依赖会非常慢而且不稳定。 为了解决这个问题,很多公司都建立了自己的 Nexus 私服来…

    JavaScript 2023年5月28日
    00
  • 在JavaScript中处理字符串之fontcolor()方法的使用

    在JavaScript中处理字符串之fontcolor()方法的使用 简介 JavaScript 提供了一些内置方法,用来处理字符串,其中之一就是 fontcolor() 。 fontcolor() 方法用于创建带有指定颜色的 HTML <font> 标签,用于改变文本颜色。 该方法接受一个参数 color,该参数是一个字符串,值为想要应用的颜色…

    JavaScript 2023年5月28日
    00
  • Asp.Net中避免重复提交和弹出提示框的实例代码

    在ASP.NET中避免重复提交和弹出提示框是开发Web应用程序时很重要的一部分。下面是一个实例代码,用于防止重复提交表单,并弹出异常提示框。 避免表单重复提交 在ASP.NET中,为了防止表单重复提交,我们可以使用以下两种方式: 1. 禁用页面上提交按钮 在单击按钮时,将其设置为禁用状态。在以前无法恢复之前,可以使其显示Progress GIF图像,以便用户…

    JavaScript 2023年6月11日
    00
  • JavaScript面试必备之垃圾回收机制和内存泄漏详解

    JavaScript面试必备之垃圾回收机制和内存泄漏详解 什么是垃圾回收机制 JavaScript是一种解释型语言,内存的管理是由垃圾回收机制自动进行的。垃圾回收机制是通过检测内存中不再使用的变量,然后释放内存空间,以供下一次使用。 JavaScript中的垃圾回收机制 JavaScript的垃圾回收机制采用的是自动垃圾回收(Automatic Garbag…

    JavaScript 2023年6月10日
    00
  • JavaScript基础教程——入门必看篇

    JavaScript基础教程——入门必看篇 第一部分:JavaScript简介 JavaScript是一种广泛使用的脚本语言,它可以让网页具有交互性和动态性。本篇入门教程主要介绍JavaScript的基础知识,帮助初学者快速入门。 第二部分:变量、运算符和语句 在JavaScript中,变量、运算符和语句是非常基础且重要的概念。变量通过声明来定义,运算符可以…

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