Timer es6

by LuckyCat

HTML

<div class="timer"></div>

CSS

.is-done {
  color: green;
}

JavaScript

//TIMER
var min_miliseconds = 60 * 1000; // в минуте милисекунд
var hour_miliseconds = 60 * min_miliseconds; // в часе
var countdown = getStartTime();  //Время старта в мс
var timer = document.querySelector('.timer');
var timer_value = [];
 
setTime();
var timerId = setInterval(function () {
    countdown -= 1000;
    if (countdown < 0) {
        timer.classList.add('is-done');
        clearInterval(timerId);
    } else {
        setTime();
    }
}, 1000);
 
function getStartTime() {
    // var date = new Date();
    // var hours = Math.abs(23 - date.getHours());
    // var minutes = Math.abs(59 - date.getMinutes());
    // var seconds = Math.abs(59 - date.getSeconds());
    // return getStartMiliseconds(hours, minutes, seconds);
    // return getStartMiliseconds(0, 0, 10);
    return getStartMiliseconds(0, 10, 0);
}
function getStartMiliseconds(hours, minutes, seconds) {
    return hour_miliseconds * hours + min_miliseconds * minutes + 1000 * seconds;
}
function setTime() {
    timer_value[0] = Math.floor(countdown / hour_miliseconds); // часы
    timer_value[1] = Math.floor( (countdown - timer_value[0]*hour_miliseconds) / min_miliseconds); // минуты
    timer_value[2] = Math.floor( (countdown - timer_value[0]*hour_miliseconds - timer_value[1]*min_miliseconds) / 1000); // секунды
		
    timer_value.forEach(function (value, index) {
      if (value < 10) {
      	timer_value[index] = '0' + value;
      }
    });
    
    timer.innerHTML = timer_value.join(':');
}