Интервальный таймер: Табата 20/10 на 8 раундов
Интервальный таймер 8 × (20 с работы + 10 с отдыха) — вся тренировка 04:00. Таймер переключает фазы сам и подаёт сигнал на каждой смене: работа — 160 с суммарно, отдых — 80 с. Отдых в последнем раунде тоже входит в план, поэтому 8 полных раундов дают ровно 04:00. Отдых можно поставить нулевым — тогда сигнал будет только на смену работы.
План: 8 раундов по 20 с работы и 10 с отдыха
| Раунд | Фаза | Начало | Длительность |
|---|---|---|---|
| 1 | Работа | 00:00 | 20 с |
| 1 | Отдых | 00:20 | 10 с |
| 2 | Работа | 00:30 | 20 с |
| 2 | Отдых | 00:50 | 10 с |
| 3 | Работа | 01:00 | 20 с |
| 3 | Отдых | 01:20 | 10 с |
| 4 | Работа | 01:30 | 20 с |
| 4 | Отдых | 01:50 | 10 с |
| 5 | Работа | 02:00 | 20 с |
| 5 | Отдых | 02:20 | 10 с |
| 6 | Работа | 02:30 | 20 с |
| 6 | Отдых | 02:50 | 10 с |
| 7 | Работа | 03:00 | 20 с |
| 7 | Отдых | 03:20 | 10 с |
| 8 | Работа | 03:30 | 20 с |
| 8 | Отдых | 03:50 | 10 с |
Рассчитано по методике инструмента «Таймер и секундомер онлайн: отсчёт, круги, интервалы».
Как считаем
Остаток отсчёта = стартовое время − (performance.now() − момент запуска), то есть считается по монотонным часам браузера, а не по числу срабатываний таймера. План интервалов: повторы × (работа + отдых), начало отрезка — сумма длительностей предыдущих. Секундомер показывает часы, минуты, секунды и сотые доли, округляя вниз.
Ограничения и допущения
- Таймер опирается на performance.now(): он не зависит от перевода системных часов и от нагрузки на вкладку. Если вкладка уходит в сон, браузер замораживает и её таймеры — отсчёт продолжит идти только после возврата на страницу.
- Сигнал в конце — три коротких тона синтезированных в браузере. Если вкладка была в фоне, звук всё равно прозвучит, но браузер может заглушить его, если звук на сайте отключён.
- Отдых в последнем раунде входит в план интервального таймера: классическая Табата — это ровно 8 × (20 + 10) = 4 минуты. Поставьте отдых нулём, если сигнал нужен только на смену работы.
- Состояние режима и настроек сохраняется в hash-фрагменте адреса, а не в query-параметрах: так ссылка на нужный отсчёт не создаёт дублей страницы для поисковых систем.