Problem mit Javascript
Kieselnator
- javascript
0 gast42
Moin!
Auf einer Seite hab' ich dieses Skript hier gefunden:
<html>
<head>
<script language="JavaScript"><!--
var jahr=2010, monat=6, tag=11, stunde=16, minute=00, sekunde=00; // 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=monate+" Monate, ":monate=monate+" Monat, ";
(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=jahre+monate+tage+stunden+minuten+sekunden;
setTimeout('countdown()',200);
}
// Anderenfalls alles auf Null setzen
else document.countdownform.countdowninput.value="0 Jahre, 0 Monate, 0 Tage, 0 Stunden, 0 Minuten und 00 Sekunden";
}
</script>
</head>
<body scroll="auto" onload="countdown()">
<br>
<p>Die Spannung steigt. Nur noch</p>
<form name="countdownform"><p><input size="75" name="countdowninput" style="background-color:#ffffff;border-width:0" onfocus="if(this.blur)this.blur()"></p></form>
<p>bis zum 22.2.2222, 22:22:22 Uhr.</p>
</body>
<html>
Ich hab' jetzt den Start der WM eingegeben und das Skript so geändert, dass Jahr und Monat wegfallen (die ja eh 0 sind). Nun zeigt er aber vor der Tagesanzahl immer eine Null an. Was hab' ich falsch gemacht und wie sähe das denn richtig aus? Vielen Dank,
mfg Kieselnator
Ich hab' jetzt ... das Skript so geändert, dass Jahr und Monat wegfallen (die ja eh 0 sind).
Genau da dürfte dein Problem liegen und genau die Info, was du wie geändert hast, enthältst du uns vor! Wie stellst du dir so Hilfe vor?
Alllllllssssssoooooo...
Ich hab unten einfach die Zeilen rausgenommen, wo Jahre und Monate ausgegeben werden:
...
Vergesst es, grad' eben ist mir eine EInleuchtung gekommen...
Danke aba für die Hilfe
Hallo,
Ich hab unten einfach die Zeilen rausgenommen, wo Jahre und Monate ausgegeben werden:
... und damit natürlich auch die iterative Angleichung der Datumsdifferenz.
Vergesst es, grad' eben ist mir eine EInleuchtung gekommen...
Nämlich?
Danke aba für die Hilfe
Wer ist aba?
Ciao,
Martin