⏳ Temporizador de Contagem Regressiva (10 Segundos)
Usando setInterval no JavaScript para criar uma contagem regressiva de 10 segundos.
Ao chegar a 0, exibe “✅ Tempo esgotado!”
- 🎬 Questionários/Testes: Exibir um limite de tempo
- 🍜 Sites de Culinária: Contagem regressiva para o tempo de cozimento
- 📊 Temporizador de Apresentação: Ferramenta simples para gerenciar o tempo
- 🎮 Tempo Limite em Jogos: Útil para minijogos personalizados!
🧪 Experimente: pressione “Iniciar” para começar uma contagem regressiva de 10 segundos.
Em 0 segundos, exibe ✅ “Tempo esgotado!”
Pressione “Redefinir” para reiniciar a qualquer momento.
<!DOCTYPE html>
<html lang="pt">
<head>
<meta charset="UTF-8">
<title>Temporizador de contagem regressiva</title>
<style>
body {
font-family: sans-serif;
text-align: center;
padding: 50px;
}
#countdown {
font-size: 2rem;
margin: 20px 0;
}
button {
font-size: 1rem;
padding: 10px 20px;
margin: 5px;
cursor: pointer;
}
</style>
</head>
<body>
<h1>⏳ Temporizador de contagem regressiva</h1>
<div id="countdown">Tempo restante: 10 segundos</div>
<button onclick="startCountdown()">Iniciar</button>
<button onclick="resetCountdown()">Redefinir</button>
<script>
let timeLeft = 10;
let timerId = null;
function startCountdown() {
if (timerId !== null) return;
document.getElementById("countdown").textContent = "Tempo restante: " + timeLeft + " segundos";
timerId = setInterval(() => {
timeLeft--;
if (timeLeft > 0) {
document.getElementById("countdown").textContent = "Tempo restante: " + timeLeft + " segundos";
} else {
clearInterval(timerId);
timerId = null;
document.getElementById("countdown").textContent = "✅ Tempo esgotado!";
}
}, 1000);
}
function resetCountdown() {
clearInterval(timerId);
timerId = null;
timeLeft = 10;
document.getElementById("countdown").textContent = "Tempo restante: 10 segundos";
}
</script>
</body>
</html>
⏱ Adaptar a contagem regressiva para mostrar minutos e segundos
Este modelo está configurado para uma contagem regressiva fixa de “10 segundos”, mas com um pequeno ajuste, você pode modificá-lo para exibir o tempo no formato de minutos e segundos.
Por exemplo, se quiser um temporizador de “1 minuto e 30 segundos”, basta usar o total de segundos e converter assim:
let totalSeconds = 90;
setInterval(() => {
totalSeconds--;
const minutes = Math.floor(totalSeconds / 60);
const seconds = totalSeconds % 60;
document.getElementById("countdown").textContent =
"Tempo restante: " + minutes + " min " + seconds + " seg";
}, 1000);
- 📏 Defina facilmente qualquer tempo (ex: 5 minutos, 90 segundos, etc.)
- 📱 Funciona bem com entradas de tempo em formulários
- 🧠 O formato “min:seg” é mais fácil de entender para os usuários
A chave para criar temporizadores flexíveis é separar a “lógica interna do tempo” do “formato de exibição”.
Uma vez dominado isso, você poderá criar recursos mais avançados como pausa, continuar ou barras de progresso visuais.