我知道有一种更简单的方法来制作倒数计时器,但我需要使用这三个功能。
我尝试将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();
const ReleaseDate = new Date("April 01, 2020 12:00:00").getTime();
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 {
d: d,
h: h,
m: m,
s: s
};
}
function formatDays(days) {
return (days + " Tage ");
}
function formatTime(hours, minutes, seconds) {
return (hours + ":" + minutes + ":" + seconds);
}
function updateCountdown() {
const TimerFunction = setInterval(function () {
const CurrentDate = new Date().getTime();
getRemainingTime(CurrentDate, ReleaseDate);
const values = getRemainingTime(CurrentDate, ReleaseDate);
const days = values.d;
const hours = values.h;
const minutes = values.m;
const seconds = values.s;
formatDays(days);
formatTime(hours, minutes, seconds);
document.getElementById("Countdown-Timer").innerText = (formatDays(days) + formatTime(hours, minutes, seconds));
}, 1000)
}
updateCountdown();