Kannst Du evtl. ein Blick über mein Script werfen, wo der Fehler liegen könnte?
Hallo,
Das Problem lag darin, dass zum Beispiel die Tage nur angezeigt werden, wenn der Rest >= 86400 ist, wenn der Rest kleiner ist, wurde NICHTS angezeigt, daher brauchst Du für jede IF-Abfrage auch einen ELSE-Zweig, der dann die Anzeige übernimmt:
function CountdownAnzeigen(){
var Jetzt = new Date();
var Countdown = new Date(CountdownJahr, CountdownMonat-1, CountdownTag, CountdownStunde, CountdownMinute, CountdownSekunde);
var MillisekundenBisCountdown = Countdown.getTime()-Jetzt.getTime();
var Rest = Math.floor(MillisekundenBisCountdown/1000);
var CountdownText = "";
if(Rest >= 31536000){
var Jahre = Math.floor(Rest/31536000);
Rest = Rest-Jahre*31536000;
CountdownText += Jahre;
CountdownText += ( Jahre > 1 || Jahre == 0 ) ? ' Jahre ' : ' Jahr ';
} else {
CountdownText += '0 Jahre ';
}
if(Rest >= 86400){
var Tage = Math.floor(Rest/86400);
Rest = Rest-Tage*86400;
CountdownText += Tage;
CountdownText += ( Tage > 1 || Tage == 0 ) ? ' Tage ' : ' Tag ';
} else {
CountdownText += '0 Tage ';
}
if(Rest >= 3600){
var Stunden = Math.floor(Rest/3600);
Rest = Rest-Stunden*3600;
CountdownText += ( Stunden >= 10 ) ? '' : '0';
CountdownText += Stunden + ':';
} else {
CountdownText += '00:';
}
if(Rest >= 60){
var Minuten = Math.floor(Rest/60);
Rest = Rest-Minuten*60;
CountdownText += ( Minuten >= 10 ) ? '' : '0';
CountdownText += Minuten + ':';
} else {
CountdownText += '00:';
}
CountdownText += ( Rest >= 10 ) ? '' : '0';
CountdownText += Rest;
document.getElementById('Countdown').innerHTML = CountdownText;
window.setTimeout("CountdownAnzeigen()", 1000);
}