Botón de Descarga con Temporizador Personalizable

  • Autor Autor Digitalplus
  • Fecha de inicio Fecha de inicio
Digitalplus

Digitalplus

VIP
Eta
Diseñador
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
Verificado por Binance
Suscripción a IA
Hola a todos el día de hoy les traigo un botón de descarga con temporizador de segundos para sus enlaces de sus páginas, este código cuenta con un temporizador de 20 segundos que pueden personalizar a su gusto el código es responsive está hecho de html, css y javascript, espero que sea de su agrado.

HTML:
<button id="download-button" data-link="https://www.Tu-Link-Aqui.com/download" target="_blank">Descargar</button>
<div id="timer"></div>
<div id="loading"></div>

CSS:
#download-button {
  display: block;
  margin: 20px auto;
  padding: 10px 20px;
  border-radius: 5px;
  background-color: #007bff;
  color: #fff;
  font-size: 18px;
  cursor: pointer;
}

#timer {
  text-align: center;
  font-size: 24px;
  margin-bottom: 10px;
}

#loading {
  width: 0%;
  height: 5px;
  background-color: #007bff;
  transition: width 0.2s ease-out;
  margin-bottom: 20px;
}

@media screen and (max-width: 768px) {
  #download-button {
    font-size: 16px;
  }
  #timer {
    font-size: 18px;
  }
}

JavaScript:
const downloadBtn = document.getElementById('download-button');
const timer = document.getElementById('timer');
const loading = document.getElementById('loading');

downloadBtn.addEventListener('click', function() {
  downloadBtn.style.display = 'none';
  timer.style.display = 'block';
  loading.style.width = '100%';
 
  let timeLeft = 20;
  let downloadLink = downloadBtn.getAttribute('data-link');
 
  let countdown = setInterval(function() {
    timeLeft--;
    timer.innerText = `La descarga comenzará en ${timeLeft} segundos...`;
   
    if (timeLeft == 0) {
      clearInterval(countdown);
     
      // Abrir la ventana emergente
      const newWindow = window.open(downloadLink, '_blank', 'height=500,width=500');
     
      // Verificar si se abrió la ventana
      if (newWindow !== null && typeof newWindow !== 'undefined') {
        // Restaurar el botón de descarga y ocultar la animación de carga
        downloadBtn.style.display = 'block';
        timer.style.display = 'none';
        loading.style.width = '0%';
      } else {
        // Mostrar un mensaje de error
        alert('El navegador ha bloqueado la ventana emergente. Por favor, habilite las ventanas emergentes para este sitio web.');
       
        // Restaurar el botón de descarga y ocultar la animación de carga
        downloadBtn.style.display = 'block';
        timer.style.display = 'none';
        loading.style.width = '0%';
      }
    }
  }, 1000);
});

Importante: El código puede que no se abra en una ventana emergente pero se activa un aviso del enlace

Demo
 
Última edición:
Y el demo como se ve ?
 
he me a gustado gracias
 
El navegador bloquea la ventana
 
Perdo por este incoveniente pensé que solo era en mi navegador ahorita arreglo el código
No puedes llamar window.open como lo haces, tiene que ser con el evento del click del usuario.
 
Muchas gracias por tu aporte.
 
Gracias
 
muchas gracias ha sido de gran utilidad.
 
Hola se ve bueno bro como pondria en wordpress donde iria el javascript
 
Hola se ve bueno bro como pondria en wordpress donde iria el javascript
Hola la verdad no sé cómo se pondría en WordPress yo solo se en Blogger.
pero he buscado está información en "ChatGPT":

Para agregar este código JavaScript a tu sitio de WordPress, puedes hacerlo a través del archivo functions.php o mediante el uso de un plugin específico para JavaScript. Aquí te mostramos cómo hacerlo a través del archivo functions.php:

  1. Abre el archivo functions.php de tu tema actual. Puedes encontrarlo en la carpeta wp-content/themes/tu-tema/ de tu sitio de WordPress.
  2. Agrega el siguiente código al final del archivo:
PHP:
function agregar_js_personalizado() {
  wp_enqueue_script( 'mi-script', get_stylesheet_directory_uri() . '/js/mi-script.js', array( 'jquery' ), '1.0', true );
}
add_action( 'wp_enqueue_scripts', 'agregar_js_personalizado' );

En este código, "mi-script" es un nombre descriptivo que se le da al script, "/js/mi-script.js" es la ruta del archivo JavaScript que se cargará, '1.0' es la versión del script y "true" significa que el script debe cargarse en el pie de página de la página.

  1. Crea un archivo llamado "mi-script.js" en la carpeta "js" de tu tema actual (si no existe, créalo).
  2. Copia y pega el código JavaScript que quieres agregar en este archivo.
  3. Guarda el archivo "mi-script.js" y actualiza tu sitio web de WordPress. El JavaScript se cargará ahora en todas las páginas de tu sitio web.
Recuerda que siempre es una buena práctica hacer una copia de seguridad de tu sitio de WordPress antes de hacer cualquier cambio en su código.

Fuente: ChatGPT
 
Hola la verdad no sé cómo se pondría en WordPress yo solo se en Blogger.
pero he buscado está información en "ChatGPT":

Para agregar este código JavaScript a tu sitio de WordPress, puedes hacerlo a través del archivo functions.php o mediante el uso de un plugin específico para JavaScript. Aquí te mostramos cómo hacerlo a través del archivo functions.php:

  1. Abre el archivo functions.php de tu tema actual. Puedes encontrarlo en la carpeta wp-content/themes/tu-tema/ de tu sitio de WordPress.
  2. Agrega el siguiente código al final del archivo:
PHP:
function agregar_js_personalizado() {
  wp_enqueue_script( 'mi-script', get_stylesheet_directory_uri() . '/js/mi-script.js', array( 'jquery' ), '1.0', true );
}
add_action( 'wp_enqueue_scripts', 'agregar_js_personalizado' );

En este código, "mi-script" es un nombre descriptivo que se le da al script, "/js/mi-script.js" es la ruta del archivo JavaScript que se cargará, '1.0' es la versión del script y "true" significa que el script debe cargarse en el pie de página de la página.

  1. Crea un archivo llamado "mi-script.js" en la carpeta "js" de tu tema actual (si no existe, créalo).
  2. Copia y pega el código JavaScript que quieres agregar en este archivo.
  3. Guarda el archivo "mi-script.js" y actualiza tu sitio web de WordPress. El JavaScript se cargará ahora en todas las páginas de tu sitio web.
Recuerda que siempre es una buena práctica hacer una copia de seguridad de tu sitio de WordPress antes de hacer cualquier cambio en su código.

Fuente: ChatGPT
Amigo pregunta como puedo asociarlo con con un boton que tengo ?
 
Me puedes dar más información
Ya yo tengo esto entonce quiero agregar esas funciones

Screenshot_4.webp
 
wordpress compañero, esta echo con AFC o ACF algo asi
En tendido compañero podrías mandar el código de tu botón al privado para intentar poder personalizarlo no se si podrás compañero
 
Gracias por el aporte compañero
 
Atrás
Arriba