Я знаю, что есть более простые способы сделать таймер обратного отсчета, но мне нужно сделать это с этими тремя функциями.
Я попытался вернуть значения функции getRemainingTime
в виде массива, но получил тот же результат.
Таймер говорит undefined Tage undefined:undefined:undefined
const ReleaseDate = new Date("April 01, 2020 12:00:00").getTime();
//Calculate Days,Hours,Minutes,Seconds left
function getRemainingTime(CurrentDate, ReleaseDate){
const Differenz = ReleaseDate - CurrentDate;
const d= Math.floor(Differenz / (1000*60*60*24));
const h= Math.floor((Differenz / (1000*60*60*24)) / (1000*60*60));
const m= Math.floor((Differenz / (1000*60*60)) / (1000*60));
const s= Math.floor((Differenz / (1000*60)) / 1000);
//return multiple values as objects
return {d:d, h:h, m:m, s:s};
}
//produce and return strings
function formatDays(days){
return (days + " Tage ");
}
function formatTime(hours, minutes, seconds){
return (hours + ":" + minutes + ":" + seconds);
}
function updateCountdown(){
//repeat every second
const TimerFunction = setInterval(function(){
//calculate time now
const CurrentDate = new Date().getTime();
//call function to calculate days,hours,minutes,seconds
getRemainingTime();
//access Objects
const values = getRemainingTime();
const days = values.d;
const hours = values.h;
const minutes = values.m;
const seconds = values.s;
//call functions to produce strings
formatDays();
formatTime();
document.getElementById("Countdown-Timer").innerText = formatDays() + formatTime();
},1000)
}
//start updateCountdown function
updateCountdown();