Countdown-Script mit Bildchen anstelle Zahlen
Petra
- javascript
Hallo,
ich möchte einen countdown-script auf meiner Website platzieren, welches die Tage, Stunden, Minuten und Sekunden bis zum Beginn der Fußball-Weltmeisterschaft anzeigt.
Außerdem möchte ich anstelle normaler Zahlen kleine Bildchen benutzen. Das heißt, ich habe zehn kleine gif-Bilder mit der jeweiligen Zahl. Jedes Bild hat die Bezeichnung c0.gif, c1.gif, c2.gif, usw.
Wenn schlußendlich die WM anfängt (in meinem Beispiel am 9.6.06 um 20:00 Uhr) möchte ich, dass einfach das c0.gif angezeigt wird -- also Nullen zu sehen sind. Z.B. "Noch 0 Tage, 0 Stunden,..."
Meine Frage nun, wo genau füge ich welche Anweisung in den Code hinein?
Naja, hier erstmal der Code (BTW, ist er korrekt?):
<script language="JavaScript">
var jahr=2006, monat=6, tag=9, stunde=20, minute=00, sekunde=00;
var zielDatum=new Date(monat-1,tag,stunde,minute,sekunde);
function countdown() {
startDatum=new Date();
if(startDatum<=zielDatum) {
var monate=0, tage=0, stunden=0, minuten=0, sekunden=0;
var restTage=0;
var m=startDatum.getMonth();
if(m==1-1|| m==3-1||m==5-1||m==7-1||m==8-1||m==10-1||m==12-1)
restTage=31-startDatum.getDate();
else if(m==4-1|| m==6-1||m==9-1||m==11-1) restTage=30-startDatum.getDate();
else if(m==2-1) {
if(startDatum.getFullYear()%4==0 && (startDatum.getFullYear()%100!=0
|| startDatum.getFullYear()%400==0))
restTage=29-startDatum.getDate(); // Schaltjahr
else restTage=28-startDatum.getDate();
}
var startTag=startDatum.getDate();
var zielTag=zielDatum.getDate();
startDatum.setDate(1);
zielDatum.setDate(1);
if(startDatum<zielDatum) {
while(startDatum<zielDatum) {
if(startDatum.setMonth(startDatum.getMonth()+1)<=zielDatum) monate++;
}
startDatum.setMonth(startDatum.getMonth()-1);
}
if(startDatum.getMonth()==zielDatum.getMonth()) {
if(startTag<=zielTag) startDatum.setDate(startTag);
else {
monate--;
tage=restTage+1;
}
}
else {
startDatum.setMonth(startDatum.getMonth()+1);
if(startTag>=zielTag) tage=restTage+1;
else {
monate++;
startDatum.setDate(startTag);
}
}
zielDatum.setDate(zielTag);
restTage=Math.floor((zielDatum-startDatum)/(24*60*60*1000));
startDatum.setTime(startDatum.getTime()+restTage*24*60*60*1000);
tage+=restTage;
stunden=Math.floor((zielDatum-startDatum)/(60*60*1000));
startDatum.setTime(startDatum.getTime()+stunden*60*60*1000);
minuten=Math.floor((zielDatum-startDatum)/(60*1000));
startDatum.setTime(startDatum.getTime()+minuten*60*1000);
sekunden=Math.floor((zielDatum-startDatum)/1000);
(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=
monate+tage+stunden+minuten+sekunden;
setTimeout('countdown()',200);
}
else document.countdownform.countdowninput.value=
"0 Monate, 0 Tage, 0 Stunden, 0 Minuten und 00 Sekunden";
}
</script>
...und hier der Code für die Bildchen:
for (i=0;i<=dstring.length-1;i++)
document.write('<img src="c'+dstring.charAt(i)+'.gif">')
...und soweit ich weiß beginne ich die Formatierung ja bei (monate!=1)?
...bin etwas ratlos.
Ich weiß, mit diesem Code wird auch die Monatszahl mit ausgegeben. Ich würde aber gerne eine Ausgabe ohne Monate haben. Also z.B. "Noch 354 Tage, 12 Stunden, usw..."
Des Weiteren hab ich noch den einen oder anderen Code den ich innherhalb des Body-tags einfüge. Ist aber hier nicht erwähnenswert, denke ich.
Vielen Dank für eure Mithilfe!
Petra