JavaScript Tutorials

Crea Temporizadores Regresivos Personalizables con JavaScript

Spread the love

Los temporizadores de cuenta regresiva son una forma fantástica de agregar interactividad y una sensación de urgencia a sus aplicaciones web. Esta guía proporciona un enfoque integral para crear temporizadores de cuenta regresiva personalizables en JavaScript, que abarca desde la implementación básica hasta las funciones avanzadas.

Tabla de contenido

Creando un temporizador de cuenta regresiva básico

Comencemos con un temporizador de cuenta regresiva simple que cuenta hacia atrás desde 10 segundos. Este ejemplo utiliza solo HTML y JavaScript, lo que facilita su comprensión e implementación.


<!DOCTYPE html>
<html>
<head>
<title>Temporizador de cuenta regresiva</title>
</head>
<body>

<p>Cuenta regresiva: <span id="countdown">10</span> segundos</p>

<script>
let timeLeft = 10;
const countdownElement = document.getElementById("countdown");

const timerInterval = setInterval(function() {
  if (timeLeft <= 0) {
    clearInterval(timerInterval);
    countdownElement.textContent = "¡Se acabó el tiempo!";
  } else {
    countdownElement.textContent = timeLeft;
    timeLeft--;
  }
}, 1000); 
</script>

</body>
</html>

Este código primero establece una variable timeLeft inicial. Luego, usa setInterval para ejecutar repetidamente una función cada segundo. Esta función disminuye timeLeft y actualiza la cuenta regresiva mostrada. Una vez que timeLeft llega a 0, el intervalo se borra y se muestra «¡Se acabó el tiempo!».

Personalizando su temporizador de cuenta regresiva

Mejoremos nuestro temporizador con una entrada definida por el usuario y una salida formateada.


let startTime = parseInt(prompt("Ingrese el tiempo de cuenta regresiva en segundos:"), 10);
let timeLeft = startTime;
const countdownElement = document.getElementById("countdown");

const timerInterval = setInterval(function() {
  const minutes = Math.floor(timeLeft / 60);
  const seconds = timeLeft % 60;
  const formattedTime = `${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`;

  if (timeLeft <= 0) {
    clearInterval(timerInterval);
    countdownElement.textContent = "¡Se acabó el tiempo!";
  } else {
    countdownElement.textContent = formattedTime;
    timeLeft--;
  }
}, 1000);

Esta versión mejorada solicita al usuario el tiempo de inicio, maneja minutos y segundos, y formatea la salida para una mejor legibilidad (MM:SS).

Funciones avanzadas del temporizador de cuenta regresiva

Para hacer el temporizador aún más versátil, considere estas mejoras:

  • Manejo de eventos: Active una función cuando el temporizador llega a cero. Esto podría usarse para enviar un formulario, redirigir al usuario o realizar cualquier otra acción.
  • Funcionalidad de pausa/reanudar: Agregue botones para pausar y reanudar la cuenta regresiva.
  • Estilo con CSS: Mejore el atractivo visual de su temporizador con CSS personalizado.

Al combinar estas técnicas, puede crear temporizadores de cuenta regresiva altamente funcionales y visualmente atractivos para sus proyectos web.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *