geburtstagscountdown
lima-city → Forum → Die eigene Homepage → HTML, CSS & Javascript
-
so, ich m?chte gernen nen Countdown haben, der auch Stunden minuten und sekunden z?hlt, hab mit meinen sp?rlichen JS kenntnissen nur einen hinbekommen, der mir die Tage z?hlt, au?erdem sollte der Countdown nicht bis mitternacht gehen, sondern bis 2 uhr morgens.
w?re super, wenn mir da iener helfen k?nnte^^
das hab ihc schon
<script language = "JavaScript">
var now = new Date();
var then = new Date("September 24, 2005");
var gap = then.getTime() - now.getTime();
gap = Math.floor(gap / (1000 * 60 * 60 * 24));
document.write(gap);
</script> Tage
und auch da hat mir ein freund geholfen, der das jedoch auch net so sehr gut kann^^
W?rde mich ?ber hilfe freuen..^^
ninja02 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Da hab ich irgendwann mal n script zu gefunden:
Das hier muss in den <head>:
<script language="JavaScript">
// Ziel-Datum in MEZ
var jahr=2005, monat=06, tag=16, stunde=00, minute=00, sekunde=00;
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;
/* Allgemeines Vorgehen:
* Zun?chst werden die vollen Jahre gez?hlt
* und anschlie?end der Start- und Ziel-Monat auf den jeweiligen 1. gesetzt.
* Nun werden erst die vollen Monate vom 1. zum 1. des Start- bzw. Ziel-Monats
* berechnet und danach die tats?chlichen Monatstage wieder mit einbezogen.
* Dieses Vorgehen vermeidet Probleme mit den verschiedenen Monatsl?ngen.
* Was ?brig bleibt, wird in Tagen, Stunden, Minuten und Sekunden ausgedr?ckt.*/
// Jahre
if(startDatum<zielDatum) {
while(startDatum<zielDatum) {
if(startDatum.setFullYear(startDatum.getFullYear()+1)<=zielDatum) jahre++;
}
startDatum.setFullYear(startDatum.getFullYear()-1);
}
// Restliche Tage zum Monatsende ermitteln
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();
}
// Start- und Ziel-Tag merken und auf 1 setzen
var startTag=startDatum.getDate();
var zielTag=zielDatum.getDate();
startDatum.setDate(1);
zielDatum.setDate(1);
// Monate
if(startDatum<zielDatum) {
while(startDatum<zielDatum) {
if(startDatum.setMonth(startDatum.getMonth()+1)<=zielDatum) monate++;
}
startDatum.setMonth(startDatum.getMonth()-1);
}
// Tats?chlichen Start- und Ziel-Tag ber?cksichtigen
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);
// Tage
restTage=Math.floor((zielDatum-startDatum)/(24*60*60*1000));
startDatum.setTime(startDatum.getTime()+restTage*24*60*60*1000);
tage+=restTage;
// 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>
In den <body> tag schreibst du dann noch
<body onload="countdown()">
rein
und da wo der countdown hinsoll:
<form name="countdownform">
<p>
<input size="75" name="countdowninput">
</p>
</form> -
super, danke, das hab ich gesucht!!
ninja02 sich freuend -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage