Skip to content

Instantly share code, notes, and snippets.

@dmitrade
Created November 28, 2018 21:56
Show Gist options
  • Save dmitrade/7b0284e90e42bf03fd54d983f7746a87 to your computer and use it in GitHub Desktop.
Save dmitrade/7b0284e90e42bf03fd54d983f7746a87 to your computer and use it in GitHub Desktop.
Timer JS with words ending
function decOfNum (number, titles) {
if(!decCache[number]) decCache[number] = number % 100 > 4 && number < 20 ? 2 : decCases[Math.min(number % 10, 5)];
return titles[decCache[number]];
}
function timerLeft() {
setInterval(function() {
var hoursLeft = document.getElementById('timer-v-hours'),
hoursText = document.getElementById('timer-v-hours_text'),
minutesLeft = document.getElementById('timer-v-minutes'),
minutesText = document.getElementById('timer-v-minutes_text'),
secLeft = document.getElementById('timer-v-seconds'),
secText = document.getElementById('timer-v-seconds_text'),
dateNow = new Date().getTime(),
dateFinish = new Date(2018, 12, 31),
sec = Math.floor((dateFinish - dateNow) / 1000),
secToMinutes = sec % 3600,
hoursNumber = Math.floor(sec / 3600),
minnutesNumber = Math.floor(secToMinutes / 60),
secondsNumber = secToMinutes % 60;
hoursText.innerHTML = decOfNum(hoursNumber, ['час', 'часа', 'часов']);
minutesText.innerHTML = decOfNum(minnutesNumber, ['минута', 'минуты', 'минут']);
secText.innerHTML = decOfNum(secondsNumber, ['секунда', 'секунды', 'секунд']);
hoursLeft.innerHTML = hoursNumber;
minutesLeft.innerHTML = minnutesNumber;
secLeft.innerHTML = secondsNumber;
})
}
timerLeft();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment