首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用vanilla JS让秒表在用户点击同一按钮两次时暂停?

要实现这个功能,可以使用vanilla JS编写以下代码:

代码语言:txt
复制
<!DOCTYPE html>
<html>
<head>
    <title>秒表</title>
</head>
<body>
    <button id="timer-btn" onclick="startTimer()">开始/暂停</button>
    <p id="timer">0:00</p>

    <script>
        var timerInterval;
        var startTime;
        var running = false;

        function startTimer() {
            var timerBtn = document.getElementById("timer-btn");

            if (running) {
                // 暂停
                clearInterval(timerInterval);
                timerBtn.innerText = "开始";
                running = false;
            } else {
                // 开始
                startTime = Date.now();
                timerInterval = setInterval(updateTimer, 1000);
                timerBtn.innerText = "暂停";
                running = true;
            }
        }

        function updateTimer() {
            var elapsedTime = Math.floor((Date.now() - startTime) / 1000);
            var minutes = Math.floor(elapsedTime / 60);
            var seconds = elapsedTime % 60;

            var timerDisplay = document.getElementById("timer");
            timerDisplay.innerText = minutes + ":" + (seconds < 10 ? "0" : "") + seconds;
        }
    </script>
</body>
</html>

这段代码实现了一个简单的秒表功能,当用户点击按钮时,如果秒表正在运行,则暂停秒表并将按钮文本改为“开始”;如果秒表已经暂停,则重新开始计时并将按钮文本改为“暂停”。

这里使用了setInterval函数来定时更新秒表显示,每秒钟执行一次updateTimer函数。通过计算从开始计时到现在的时间差,可以得到秒表显示的分钟和秒钟。这个时间差是通过获取当前时间戳Date.now()来计算的。

推荐腾讯云的相关产品:云服务器(CVM)用于部署和运行应用程序、云数据库 MySQL(CDB)用于存储和管理数据。

参考链接:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android 防止过快(多次)点击的实现方法

在用户使用 Android 应用的时候,经常会出现过快且多次点击同一按钮的情况,一方面这是因为应用或手机当前有些卡顿,另一方面也可能是由于很多应用并没有设置按钮点击时的 selector 或者其它按钮响应方式(例如点击按钮时按钮放大,常见于游戏),导致用户误认为没有点击到当前按钮,当然,除了相对应的对应用进行优化和设置点击selector以外,我们还可以做一些其它的工作,例如,判断按钮的 onClick 事件在规定事件段内只响应一次(在论坛的搜索功能中,我们常见到每10秒才可以进行一次搜索的设置,这就在一定程度上减少了无效的网络访问量,减轻服务器压力,APP同理),就如下面代码所示:

02
  • React 并发功能体验-前端的并发模式已经到来。

    React 是一个开源 JavaScript 库,开发人员使用它来创建基于 Web 和移动的应用程序,并且支持构建交互式用户界面和 UI 组件。React 是由 Facebook 软件工程师 Jordan Walke 创建,React 的第一个版本在七年前问世,现在,Facebook 负责维护。React框架自首次发布以来,React 的受欢迎程度直线飙升,热度不减。 2020 年 10 月,React 17 发布了,但令人惊讶的是——“零新功能”。当然,这并不是真的表示没有任何新添加的功能,让广大程序员使用者兴奋。事实上,这个版本为我们带来了很多重大功能的升级及16版本的bug修复,并推出了:Concurrent Mode 和Suspense。 虽然这两个功能尚未正式发布,这些功能已提供给开发人员进行测试。一旦发布,它们将改变 React 呈现其 UI 的方式,从而达到双倍提高性能和用户体验。

    02

    (转载非原创)React 并发功能体验-前端的并发模式已经到来。

    React 是一个开源 JavaScript 库,开发人员使用它来创建基于 Web 和移动的应用程序,并且支持构建交互式用户界面和 UI 组件。React 是由 Facebook 软件工程师 Jordan Walke 创建,React 的第一个版本在七年前问世,现在,Facebook 负责维护。React框架自首次发布以来,React 的受欢迎程度直线飙升,热度不减。 2020 年 10 月,React 17 发布了,但令人惊讶的是——“零新功能”。当然,这并不是真的表示没有任何新添加的功能,让广大程序员使用者兴奋。事实上,这个版本为我们带来了很多重大功能的升级及16版本的bug修复,并推出了:Concurrent Mode 和Suspense。 虽然这两个功能尚未正式发布,这些功能已提供给开发人员进行测试。一旦发布,它们将改变 React 呈现其 UI 的方式,从而达到双倍提高性能和用户体验。

    00

    【教程】UX中最常用的6个功能性动效,看完自己也成大神了

    功能性的动效是指一种微妙且具有清晰合理目的的动画效果。它能减少认知负荷,防止对(界面)变化的忽视、还能帮助用户在界面的空间关系之中建立惯性回忆。更重要的是,动效给用户界面赋予了生命。 通过对界面元素进行组合、拆分、改变他们的形状和大小,动效可以让界面更加生动。你应当使用功能性动效流畅地在上下文间引导用户,解释屏幕上元素排列的变化,以及加强元素层次结构。 1、响应 视觉反馈在用户界面设计中是非常重要的,因为渴望得到确认反馈信息是用户的一种天性。在现实生活中,按钮、控制键和其它物体会因我们的操作而产生相应的反馈

    05
    领券