多计时器
同时运行多个倒计时,各自独立开始、暂停、重置
什么是多计时器?
多计时器让你在一个屏幕上同时运行多个倒计时,每个都有独立的时长和控制。烤肉设一个、米饭设一个、甜品再设一个——可以一起开始,也可以一个个来,随时暂停其中任何一个,哪个先到点就先响铃提醒。这就像把一个鸡蛋计时器变成能照看整口灶台的助手。不用装 App,不用注册账号,所有计时都在浏览器里完成,数据不会离开你的设备。
使用方法
使用方法
- 点击「添加新计时器」,输入分钟和秒数
- 每个计时器相互独立,可单独开始、暂停、重置
- 任意计时器归零时都会播放提示音
- 点击 × 可删除不再需要的计时器
计时说明
- 浏览器计时器在标签页后台、设备休眠或省电模式下可能会暂停或产生偏差。
- 如果提示音很重要,让本标签页保持可见——部分浏览器会为省电而静音后台标签页。
使用场景
技术原理
每个计时器都保存为一个独立的状态对象,记录总时长、剩余时间和运行标志。启动一个计时器时,页面用 Date.now() 记下那一刻和启动时的剩余时长,之后每次刷新都按 剩余 = 启动时剩余 − (Date.now() − 启动时间) 重新计算。这样能自校正:即便浏览器临时限流或 JavaScript 线程正忙,显示的时间依然准确,因为每次计算读的都是真实的系统时钟,而不是靠数帧。 一个共享的循环驱动所有正在运行的计时器,所以加再多计时器也不会成倍增加 CPU 负担——一次遍历就能更新全部。标签页切到后台后,浏览器会大幅限制计时器,电池供电时甚至可能冻结;标签页重新可见的一瞬间,每个计时器都按系统时钟校准,直接跳到正确的剩余时间。 结束提示音通过 Web Audio API 播放一个短促的音调。浏览器要求用户先有一次交互(比如点击开始)才能允许音频播放,这是自动播放策略,防止网页未经允许发声。如果计时器结束时标签页被隐藏或系统处于休眠,提示音不会响,但回到页面时显示仍是正确的。这一切都在本地完成,不向任何服务器发送计时数据。
- 每个计时器是独立的状态对象,各有自己的开始时间和剩余时长。
- 用 Date.now() 追踪墙上时钟时间——每次刷新重新计算剩余时间,不靠 setInterval 累积计数。
- 一个共享循环驱动所有运行中的计时器,加计时器不会成倍增加 CPU 负担。
- 后台标签页被浏览器限流,切回时用系统时钟校准,显示立刻跳到正确时间。
- Web Audio API 播放每个提示音,需要用户先有一次交互(如点击开始)才能启用音频。
- 所有计算在浏览器本地完成,不向任何服务器发送数据。
示例
周末烤肉 —— 三道菜同时做
计时 1:01:30:00(烤肉)-> 响铃
计时 2:00:25:00(米饭)-> 响铃
计时 3:00:12:00(酱汁)-> 响铃
先启动烤肉,米饭和酱汁晚点再启动,让三道菜同时出炉。HIIT 循环(30 秒训练 / 15 秒休息 x 4)
计时 A:00:30(训练)-> 响铃
计时 B:00:15(休息)-> 响铃
计时 C:00:30(训练)-> 响铃
计时 D:00:15(休息)-> 响铃
让标签页保持可见,确保每次提示音准时响起。考试分段 —— 阅读、写作、检查
计时 1:00:15:00(阅读)
计时 2:01:30:00(写作)
计时 3:00:10:00(检查)
上一段结束就启动下一段,三段在一个屏幕上看全。常见问题
最多能同时运行几个计时器?
没有硬性上限,只要屏幕放得下就尽管加。每个计时器独立计时,加再多也不会拖慢已经在跑的那些。
切换标签页后计时还准吗?
准。每个计时器都用系统时钟计时,不靠计数帧,所以标签页在后台时时间依然正确。切回来的一瞬间显示就会追上。
多个计时器同时结束,每个提示音都会响吗?
每个计时器归零时都会各响一次。如果同时开了很多个,记得让标签页保持可见、打开声音,别漏掉某一个——后台标签页的音频可能被浏览器限制。
能只暂停其中一个,不影响其他吗?
能。每个计时器都有独立的开始、暂停、重置按钮。暂停一个,其余的照常运行。
电脑进入睡眠会怎样?
计时器用系统时钟追踪经过的时间,所以睡眠期间也准,唤醒后显示自动追上。但系统挂起期间提示音不会响,回到页面时显示仍是正确的。
这和单个倒计时器有什么区别?
单个倒计时器一次只追一个截止时间;多计时器同时追好几个——适合多道菜同做、间歇训练分组、考试或活动分多段同时计时的场景。
有任何数据会被上传吗?
不会。所有计时完全在浏览器里运行,你设置的任何内容都不会上传。