Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

231
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda