Javaskript Countdown - Variable nach Ablauf übersc

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!

jou … so wie RakonDark es beschrieben hat.
für die countdown-ziele würde ich Millisekunden nehmen … ist einfacher


// die Countdown-Ziele in Millisekunden
var MScount = new Array(1280492823007, 1280488823027, 1288492823027)

// aktuelles Datum holen (aus der function countdown nehmen)
var startDatum=new Date()

// aus den Count-Zielen das erste größere (als start) finden und function aufrufen
for ( var i=0; i

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 …

hmm warum hardcoden ? aber ok, gibts dann besitmmt auch irgentwann mal kein datum für die zukunft :smile:

/\*\<![CDATA[\*/
dates = new Array ( new Date(2010, 6-1, 1, 15, 11, 22),
 new Date(2010, 7-1, 2, 15, 11, 22),
 new Date(2010, 8-1, 4, 15, 11, 22)
 );
alert (nexteventdate(dates)); 
function nexteventdate(eventdates) {
 erun=0;
 today = new Date();
 while (eventdates[erun] \< today && erun \< eventdates.length) {
 erun++;
 }
 if (erun == eventdates.length && eventdates[erun-1] \< today ) {
 // wen kein datum groesser ist
 return "";
 } 
 return eventdates[erun];
}
/\*]]\>\*/

jou … so wie RakonDark es beschrieben hat.
für die countdown-ziele würde ich Millisekunden nehmen … ist
einfacher

nun bin ich erstaunt, du hast es gelesen ich habs auch geschrieben aber irgentwie kannich mich ans löschennicht errinern , lol . Dacht schon ich hab woanders gepostet, naja, hab ich nochmal meine lösung gepostet, wo die erklärung geblieben ist :frowning: keine Ahnung.

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

ab besten mannnimmt ein array und sucht solange bis das datum im array grösser als heute ist, wobei es kein ergebniss gibt wenn es kein datum in der zukunft gibt.

Bedenke hardcoden heisst auch immer manuel updaten.

Vielen Dank. ich probier es gleich am Montag aus.