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

yizhihongxing

下面就为您详细讲解如何使用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变量的作用域和作用域链详解”的完整攻略: 1. 什么是作用域? 在JavaScript中,作用域指的是变量的可访问性。简单地说,一个变量在JavaScript中的作用域就是指这个变量在什么范围内可以被访问到。 2. 作用域的类型 JavaScript中主要有两种作用域类型:全局作用域和局部作用域。 2.1 全局作用域 所有在函数外…

    JavaScript 2023年6月10日
    00
  • JS截取字符串的方法详解

    JS截取字符串的方法详解 在JavaScript中操作字符串是非常常见的操作,其中一个常见的操作便是截取字符串。截取字符串的方法有很多,下面将详细讲解几种常见的方法。 方法一:使用substring()方法 substring()方法是JavaScript中最常用的截取字符串的方法。它的语法是: string.substring(start, end) st…

    JavaScript 2023年5月28日
    00
  • JavaScript表单验证示例详解

    下面是“JavaScript表单验证示例详解”的完整攻略: 一、概述 在网页开发中,为了保证用户输入的信息的正确性和完整性,我们通常会对用户所填写的表单进行验证。JavaScript是一种常用的前端语言,它可以通过编写代码实现表单验证的功能。本文将对JavaScript表单验证进行详细讲解,让大家可以通过学习掌握该技术。 二、表单验证的准备工具 实现表单验证…

    JavaScript 2023年6月10日
    00
  • JS对象和字符串之间互换操作实例分析

    下面我会详细讲解如何在JavaScript中实现JS对象和字符串之间的互换操作。 JS对象和字符串之间互换操作实例分析 JS对象和字符串是JavaScript编程中最常见的数据类型之一。有时候,我们需要将JS对象转换为字符串,或者将字符串转换为JS对象。下面分别介绍如何实现这两种操作。 将JS对象转换为字符串 在JavaScript中,可以使用JSON.st…

    JavaScript 2023年5月28日
    00
  • javascript中神奇的 Date对象小结

    让我用Markdown格式为您撰写关于“javascript中神奇的 Date对象小结”的完整攻略吧。 JavaScript中神奇的Date对象小结 Date对象时JavaScript中用来处理日期和时间的内置对象,它允许我们创建、操作和格式化日期和时间。在这份攻略中,我们将深入了解Date对象的相关应用。 创建Date对象 要创建Date对象,我们简单地使…

    JavaScript 2023年6月10日
    00
  • AJAX和JSP混合使用方法实例

    下面是“AJAX和JSP混合使用方法实例”的完整攻略: 1. 确定项目结构和技术栈 首先需要确定项目的技术栈和结构。对于JSP和AJAX混合使用,我们需要使用以下技术: JQuery:一个JavaScript库,方便我们操作DOM和实现AJAX请求。 JSP:Java Server Pages,用于渲染动态页面。 Servlet:用于处理AJAX请求和返回J…

    JavaScript 2023年6月11日
    00
  • js验证电话号码与手机支持+86的正则表达式

    要验证电话号码与手机是否支持+86,我们需要使用正则表达式。 以下是一个通用的正则表达式,用于检查电话号码或手机号是否正确: /^((0\d{2,3}-\d{7,8})|(1[34578]\d{9}))$/ 让我们详细分析这个正则表达式: ^表示字符串开头。 (表示一个捕获分组的开始。 0\d{2,3}-\d{7,8}匹配固定电话号码,其中0后面是2或3个数…

    JavaScript 2023年6月10日
    00
  • 如jQuery般易用的api风格代码分享

    如jQuery般易用的API风格的代码分享,通常是指通过简洁易读的API接口、规范明确的代码结构、充分考虑可扩展性和兼容性等方式,让其他开发者能够简单、快速地使用你的代码,从而提高软件开发的效率。 下面是一些实现这种代码分享的建议: 1. 使用常用的API方法和命名规范 为了让你的API接口和代码逻辑更加易读和易懂,建议尽可能使用常见的API方法和命名规范。…

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