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

230
Vistas
Digital Clock on JavaScript not updating every seconds

I am trying to create a digital clock using JavaScript and I am running into some problem. The digital clock does show up and the time is correct. However, it does not update every seconds, though the setinterval seems to be correct.

window.onload = pageLoad;
    function pageLoad(){

    var hours = document.getElementById("hoursOut");
    var mins = document.getElementById("minsOut");
    var secs = document.getElementById("secsOut");


    var dateVar = new Date();
    var currentHours = dateVar.getHours();
    var currentMinutes = dateVar.getMinutes();
    var currentSeconds = dateVar.getSeconds();
    var tiktok;

    
    function displayTime() {
        hours.innerHTML = currentHours + ":";
        mins.innerHTML = currentMinutes + ":";
        secs.innerHTML = currentSeconds;
    }   



    function startClock(){
        displayTime();
        tiktok = setInterval(displayTime,1000);
    }

    
    }
    ```
about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

You need to update Date() value for each seconds

Put Date() inside you function displayTime()

Here example :

function displayTime() {
    
    var dateVar = new Date();
    var currentHours = dateVar.getHours();
    var currentMinutes = dateVar.getMinutes();
    var currentSeconds = dateVar.getSeconds();
    
    hours.innerHTML = currentHours + ":";
    mins.innerHTML = currentMinutes + ":";
    secs.innerHTML = currentSeconds;
    
}   

Full code :

window.onload = () => {

    var hours = document.getElementById("hoursOut");
    var mins = document.getElementById("minsOut");
    var secs = document.getElementById("secsOut");
    var tiktok;

    function displayTime() {
    
        var dateVar = new Date();
        var currentHours = dateVar.getHours();
        var currentMinutes = dateVar.getMinutes();
        var currentSeconds = dateVar.getSeconds();
    
        hours.innerHTML = currentHours + ":";
        mins.innerHTML = currentMinutes + ":";
        secs.innerHTML = currentSeconds;
    }   



    function startClock(){
        displayTime();
        tikstok = setInterval(displayTime,1000);
    }

    // call function
    startClock();
};
about 4 years ago · Juan Pablo Isaza Denunciar

0

You can do this using , setInterval function .

Thing you must know about setInterval : setInterval function returns an id from which you can stop the setInterval using clearInterval(id) function , where id would be that id returned by setInterval function.

Also, you need to get current date value so, change your displayTime function like this :

function displayTime() {
        var dateVar = new Date();
        var currentHours = dateVar.getHours();
        var currentMinutes = dateVar.getMinutes();
        var currentSeconds = dateVar.getSeconds();
 
        hours.innerHTML = currentHours + ":";
        mins.innerHTML = currentMinutes + ":";
        secs.innerHTML = currentSeconds;
    }   
let id ;
function startClock() {
  displayTime(); 
  id = setInterval(displayTime, 1000);
};
startClock();

For example :

let id ;
function startClock() {
  
  id = setInterval(()=>console.log(new Date().getMinutes()+"min" ), 1000);
};
startClock();

about 4 years ago · Juan Pablo Isaza Denunciar

0

You have to refactor your code to be like below.

function startClock() {
  displayTime(); // Defined in your example
  setInterval(displayTime, 1000);
};

startClock();
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