Как починить таймер обратного отсчёта?

112
29 мая 2021, 03:50

<!DOCTYPE html> 
<html lang="en" dir="ltr"> 
  <head> 
    <meta charset="utf-8"> 
    <title></title> 
    <style media="screen"> 
 
    </style> 
  </head> 
  <body> 
    <div>Registration closes in <span id="time"><span id='time0'>05</span>:<span id='time1'>00</span>:<span id='time2'>00</span></span> minutes!</div> 
    <script type="text/javascript"> 
 
 
function startTimer(duration, display) { 
    var timer = duration, hours, minutes, seconds; 
    setInterval(function () { 
      hours = parseInt(timer / 3600, 10); 
        minutes = parseInt(timer / 60, 10); 
        seconds = parseInt(timer % 60, 10); 
        hours = hours < 10 ? "0" + hours : hours; 
 
        minutes = minutes < 10 ? "0" + minutes : minutes; 
        seconds = seconds < 10 ? "0" + seconds : seconds; 
 
        time0.textContent = hours; 
        time1.textContent = minutes; 
        time2.textContent = seconds; 
 
        if (--timer < 0) { 
            timer = duration; 
        } 
    }, 1000); 
} 
 
window.onload = function () { 
    var fiveMinutes = 3600 * 5, 
        display = document.querySelector('#time'); 
    startTimer(fiveMinutes, display); 
}; 
    </script> 
</body> 
</html>

Как сделать так, чтобы это чудо заработало?

Answer 1

<!DOCTYPE html> 
<html lang="en" dir="ltr"> 
  <head> 
    <meta charset="utf-8"> 
    <title></title> 
    <style media="screen"> 
 
    </style> 
  </head> 
  <body> 
    <div>Registration closes in <span id="time"><span id='time0'>05</span>:<span id='time1'>00</span>:<span id='time2'>00</span></span> minutes!</div> 
    <script type="text/javascript"> 
 
 
function startTimer(secs, display) { 
    var seconds = secs, date; 
    setInterval(function () { 
        date = new Date(seconds*1000); 
        time0.textContent = ("0" + date.getUTCHours()).slice(-2); 
        time1.textContent = ("0" + date.getMinutes()).slice(-2); 
        time2.textContent = ("0" + date.getSeconds()).slice(-2); 
 
        if (--seconds < 0) { 
            seconds = secs; 
        } 
    }, 1000); 
} 
 
window.onload = function () { 
    var fiveMinutes = 300, 
        display = document.querySelector('#time'); 
    startTimer(fiveMinutes, display); 
}; 
    </script> 
</body> 
</html>

READ ALSO
Как эти две строки написать на чистом javascript?

Как эти две строки написать на чистом javascript?

хочу переделать jQuery строкb на JS

138
Как объединить css файлы? Не надо сжимать, а именно все файлы объединить

Как объединить css файлы? Не надо сжимать, а именно все файлы объединить

Проблема в том что есть n кол-во файлов cssНужно их объединить, что бы все классы были в одном файле

97
Прозрачность и размытость цветного фона блока

Прозрачность и размытость цветного фона блока

Как сделать блоку и прозрачность и размытость как в центре уведомлений в Windows 10 с помощью CSS?

96