From acbecda08b21ffc67d5a33d7e3be6d618b0619a7 Mon Sep 17 00:00:00 2001 From: Aliaksandr Melnichenka Date: Fri, 5 Jan 2024 18:43:49 +0300 Subject: [PATCH] Adjusting countdown --- js/jquery-1.10.1.min.js | 43 ++++++++++++++++++++++------------------- 1 file changed, 23 insertions(+), 20 deletions(-) diff --git a/js/jquery-1.10.1.min.js b/js/jquery-1.10.1.min.js index b32e177..9fe6bc0 100644 --- a/js/jquery-1.10.1.min.js +++ b/js/jquery-1.10.1.min.js @@ -10,37 +10,40 @@ ym(95301554, "init", { accurateTrackBounce:true }); -var countDownDate = new Date('2024-01-09T09:00:00').getTime(); +var countDownDate = new Date('2024-01-07T09:00:00').getTime(); -var x = setInterval(function() { - // Get today's date and time - var now = new Date().getTime(); +function getEnding(number, endings) { + const cases = [2, 0, 1, 1, 1, 2]; + const index = (number % 100 > 4 && number % 100 < 20) ? 2 : cases[Math.min(number % 10, 5)]; + return endings[index]; +} - // Find the distance between now and the count down date - var distance = countDownDate - now; +function secondsToTime(seconds) { + var days = Math.floor(seconds / (1000 * 60 * 60 * 24)); + var hours = Math.floor((seconds % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); + var minutes = Math.floor((seconds % (1000 * 60 * 60)) / (1000 * 60)); + const remainingSeconds = Math.floor((seconds % (1000 * 60)) / 1000); - // Time calculations for days, hours, minutes and seconds - var days = Math.floor(distance / (1000 * 60 * 60 * 24)); - var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); - var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60)); - var seconds = Math.floor((distance % (1000 * 60)) / 1000); + const daysText = getEnding(days, ["день", "дня", "дней"]); + const hoursText = getEnding(hours, ["час", "часа", "часов"]); + const minutesText = getEnding(minutes, ["минута", "минуты", "минут"]); + const secondsText = getEnding(remainingSeconds, ["секунда", "секунды", "секунд"]); - if (days === 3 || days === 2) document.getElementById("countdown").innerHTML = days + ' дня ' + hours + ' часов ' + minutes + ' минут ' + seconds + ' секунд'; - else { - if (days === 1) document.getElementById("countdown").innerHTML = days + ' день ' + hours + ' часов ' + minutes + ' минут ' + seconds + ' секунд'; - else { - if (days === 0) document.getElementById("countdown").innerHTML = hours + ' часов ' + minutes + ' минут ' + seconds + ' секунд'; - else document.getElementById("countdown").innerHTML = days + ' дней ' + hours + ' часов ' + minutes + ' минут ' + seconds + ' секунд'; - } - } + if(days === 0) return `${hours} ${hoursText} ${minutes} ${minutesText} ${remainingSeconds} ${secondsText}`; + return `${days} ${daysText} ${hours} ${hoursText} ${minutes} ${minutesText} ${remainingSeconds} ${secondsText}`; +} +var x = setInterval(function() { + var now = new Date().getTime(); + + var distance = countDownDate - now; - // If the count down is finished, write some text if (distance < 0) { clearInterval(x); document.getElementById("countdown").innerHTML = "Скоро будут добавлены материалы олимпиады"; } + else document.getElementById("countdown").innerHTML = secondsToTime(distance); }, 1000); var _____WB$wombat$assign$function_____ = function(name) {return (self._wb_wombat && self._wb_wombat.local_init && self._wb_wombat.local_init(name)) || self[name]; };