Как я могу сделать так, чтобы мой таймер обратного отсчета показывал часы - PullRequest
0 голосов
/ 06 марта 2020

Я ищу быструю смену таймера обратного отсчета, запрограммированного моим другом. В настоящее время он не может помочь мне изменить или расширить его, поэтому мне нужна помощь дружественных людей из stackoverflow.

Пока отсчет времени показывает: MM: SS: ss

Я хочу изменить его на: ЧЧ: ММ: СС

Идея, как мне этого добиться? Большое спасибо!

Вот мой код:

function startTimer(duration, display) {
var timer = duration, minutes, seconds, dispms;
const intervalIndex = setInterval(function () {
    dispms=parseInt(timer % 100,10);
    seconds = parseInt(timer / 100, 10);
    minutes = parseInt(seconds / 60, 10);
    seconds = parseInt(seconds % 60, 10);
    minutes = minutes < 10 ? "0" + minutes : minutes;
    seconds = seconds < 10 ? "0" + seconds : seconds;
    dispms = dispms < 10 ? "0" + dispms : dispms;
    display.textContent = minutes + ":" + seconds;
    if (--timer < 0) {
      clearInterval(intervalIndex);
    }
}, 10);}
window.onload = function () {
    var countdown = 60 * 60 * 100,
        display = document.querySelector('#time');
    startTimer(countdown, display);
};
<div id="time"></div>

1 Ответ

0 голосов
/ 06 марта 2020

Попробуйте это:

function startTimer(duration, display) {
var timer = duration, minutes, seconds, dispms;
const intervalIndex = setInterval(function () {
    
    seconds = parseInt(timer / 100, 10);
    minutes = parseInt(seconds / 60, 10);
    hours = parseInt(minutes / 60, 10);
    
    seconds = parseInt(seconds % 60, 10);
    minutes = parseInt(minutes % 60, 10);
    
    seconds = seconds < 10 ? "0" + seconds : seconds;
    minutes = minutes < 10 ? "0" + minutes : minutes;
    hours = hours < 10 ? "0" + hours : hours;
    
    display.textContent = hours + ":" + minutes + ":" + seconds;
    if (--timer < 0) {
      clearInterval(intervalIndex);
    }
}, 10);}
window.onload = function () {
    var countdown = 600500,
        display = document.querySelector('#time');
    startTimer(countdown, display);
};
<div id="time"></div>
...