Passo a passo
- Guarde endAt = Date.now() + duração em milissegundos.
- A cada 250 ms, mostre Math.max(0, endAt − Date.now()) como mm:ss.
- No zero: toque o som, troque a fase e defina o próximo endAt.
Resumo rápido
| Parte | Como | Por quê |
|---|---|---|
| Contagem pelo relógio | endAt − Date.now() | Não atrasa em abas de fundo |
| Troca de fase | Contador de blocos de foco feitos | Pausa longa a cada 4 |
| Aviso | Audio e a API Notification | Funciona com a aba escondida |
Perguntas parecidas
Por que não usar setInterval com contador?
Os navegadores desaceleram temporizadores em abas escondidas, então o contador atrasa; o relógio não.
Como mostrar o tempo no título da aba?
Defina document.title com o mm:ss restante a cada atualização.
Por que o som não toca?
Os navegadores bloqueiam áudio até o usuário clicar; inicie o timer por um clique num botão.
Mais dúvidas: pomodoro online
- O que é a técnica Pomodoro e o timer Pomodoro?
- Como usar o timer Pomodoro passo a passo
- Por que o Pomodoro tem 25 minutos e dá para mudar?
- Por que a técnica Pomodoro funciona?
- Como usar o timer Pomodoro com TDAH
- Como estudar com o timer Pomodoro
- Timer Pomodoro silencioso: como usar sem som
- Timer Pomodoro não funciona? Soluções comuns
- Timer Pomodoro no celular, iPhone e Android, sem app
- Como colocar um timer Pomodoro no Notion
- Técnica Pomodoro ou Deep Work (trabalho focado): qual usar?
- Como se pronuncia Pomodoro e o que significa?
Abrir o pomodoro online completo →
Atualizado em 14 de novembro de 2026.