countdown
by sinky
HTML
<div id="countdown"/>
JavaScript
countdown('#countdown', 2222, 2, 22, 22, 22, 22);
function countdown(elm, jahr,monat,tag,stunde,minute,sekunde){
target = document.getElementById(elm);
var zielDatum=new Date(jahr,monat-1,tag,stunde,minute,sekunde);
var timer;
timer = function() {
startDatum=new Date(); // Aktuelles Datum
// Countdown berechnen und anzeigen, bis Ziel-Datum erreicht ist
if(startDatum<zielDatum) {
var jahre=0, monate=0, tage=0, stunden=0, minuten=0, sekunden=0;
// Jahre
while(startDatum<zielDatum) {
jahre++;
startDatum.setFullYear(startDatum.getFullYear()+1);
}
startDatum.setFullYear(startDatum.getFullYear()-1);
jahre--;
// Monate
while(startDatum<zielDatum) {
monate++;
startDatum.setMonth(startDatum.getMonth()+1);
}
startDatum.setMonth(startDatum.getMonth()-1);
monate--;
// Tage
while(startDatum.getTime()+(24*60*60*1000)<zielDatum) {
tage++;
startDatum.setTime(startDatum.getTime()+(24*60*60*1000));
}
// Stunden
stunden=Math.floor((zielDatum-startDatum)/(60*60*1000));
startDatum.setTime(startDatum.getTime()+stunden*60*60*1000);
// Minuten
minuten=Math.floor((zielDatum-startDatum)/(60*1000));
startDatum.setTime(startDatum.getTime()+minuten*60*1000);
// Sekunden
sekunden=Math.floor((zielDatum-startDatum)/1000);
// Anzeige formatieren
(jahre!=1)?jahre=jahre+" Jahre, ":jahre=jahre+" Jahr, ";
t['jahre'] = (jahre!=1) ? jahre+" Jahre": jahre+" Jahr";
t['monate'] = (monate!=1) ? monate+" Monate": monate+" Monat";
t['tage'] = (tage!=1) ? tage+" Tage": tage+" Tag";
t['minuten'] = (minuten!=1) ? minuten+" Minuten": minuten+" Minute";
t['sekunden'] = (sekunden<10) ? "0"+sekunden;
t['sekunden'] = (sekunden!=1) ? sekunden+" Sekunden": sekunden+" Sekunde";
console.log(t.join(', '));
}else{
return false;
}
};
}