Also ich habe ein Countdown im Javaskript. Und möchte jetzt folgendes:
Wenn Datum 1 in der Vergangenheit liegt soll Datum 2 genutzt werden, wenn Datum 2 in der Vergangenheit liegt, soll Datum 3 genutzt werden. Gibt es also die Möglichkeit das irgendwie zu überschreiben oder muss ich tatsächlich eine ewige Elseabfrage starten …
countdown1= Datum 1
Countdown2= Datum 2
Countdown3= Datum 3
etc.
Code:
var jahr=2010, monat=8, tag=2, stunde=10, minute=0, sekunde=0; // Ziel-Datum in MEZ
var zielDatum=new Date(jahr,monat-1,tag,stunde,minute,sekunde);
function countdown() {
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, „;
//(monate!=1)?monate=“ Nur noch „:monate=“ Nur noch „;
(tage!=1)?tage=tage+“ Tage, „:tage=tage+“ Tag, „;
(stunden!=1)?stunden=stunden+“ Stunden, „:stunden=stunden+“ Stunde, „;
(minuten!=1)?minuten=minuten+“ Minuten und „:minuten=minuten+“ Minute und „;
if(sekunden<10) sekunden=„0“+sekunden;
(sekunden!=1)?sekunden=sekunden+“ Sekunden":sekunden=sekunden+" Sekunde";
document.countdownform.countdowninput.value=„Nur noch „+tage+stunden+minuten+sekunden+“ bis zur HappyHour!“;
setTimeout(‚countdown()‘,200);
}
// Anderenfalls alles auf Null setzen
else document.countdownform.countdowninput.value=„Jetzt mit der Happy Hour von 10-12 Uhr 5 % Sparen“;
}
Wecker stellen lohnt sich!