Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

164
Vistas
¿Cómo cambio el HTML DOM con Javascript cuando se cumplen los cambios de fecha/hora?

Ejemplo: Cuando es medianoche (hr)0: (min) 0: (seg) 1 Cambie el elemento HTML P a "Nuevo día"...

Este código funciona, pero requiere que actualice la página cuando se cumpla el tiempo. Uso var.getMinutes() para fines de prueba.

 const d = new Date(); const h = d.getHours(); const m = d.getMinutes(); const s = d.getSeconds(); const day = document.querySelector('#current-day'); function addDay() { if(m === 13) { day.innerHTML = 'New Day'; console.log('works'); } return } window.setInterval(addDay(),1000);
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Hay dos problemas en su código.

  1. setInterval acepta una función como primer argumento, pero le está dando el valor de retorno de la llamada a la función . En su lugar, debe pasar la función a setInterval , así: window.setInterval(addDay, 1000); .

Llamada de función (cuando ejecuta una función):

 addDay()

Definición de función (cuando describe lo que hace la función):

 function(args) { // perform some calculations using the arguments }
  1. Dentro de la función addDay , está utilizando m . Pero m se evaluará sólo una vez. No se actualizará a medida que pase el tiempo (como debería). Debes evaluar m dentro de la función. Más importante aún, debe evaluar la fecha actual en la función. Entonces, cada vez que se ejecuta la función, el valor de d y m se actualizará. (ver el fragmento de código a continuación)

 const day = document.querySelector('#current-day'); function addDay() { const d = new Date(); const h = d.getHours(); const m = d.getMinutes(); const s = d.getSeconds(); if (m === 13) { day.innerHTML = 'New Day'; console.log('works'); } } window.setInterval(addDay, 1000);
 <div id="current-day"></div>

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda