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(':');
}