Du bist hier: Startseite » Tutorials » Wie erstellt man einen Countdown mit Javascript? Tutorial
Wie erstellt man einen Countdown mit Javascript?In diesem Tutorial erkläre ich euch wie ihr einen ganz einfachen Countdown für z.B. einen WartungsModus mit JavaScript erstellen könnt.
1998 - DJ Madhead
- 07.05.2010 19:35 Uhr - Version: 4 - - verlinken als BB-Code
Zunächst erstellst du eine einfache TextDatei:
Dort kommt dann folgender Code rein:
CODE:
function calcage(secs, num1, num2) {
s = ((Math.floor(secs/num1))%num2).toString();
if (LeadingZero && s.length < 2)
s = "0" + s;
return "<b>" + s + "</b>";
}
if (typeof(BackColor)=="undefined")
BackColor = "white";
if (typeof(ForeColor)=="undefined")
ForeColor= "black";
if (typeof(TargetDate)=="undefined")
TargetDate = "12/31/2020 5:00 AM";
if (typeof(DisplayFormat)=="undefined")
DisplayFormat = "%%D%% Tage, %%H%% Stunden, %%M%% Minuten, %%S%% Sekunden.";
if (typeof(CountActive)=="undefined")
CountActive = true;
if (typeof(FinishMessage)=="undefined")
FinishMessage = "";
if (typeof(CountStepper)!="number")
CountStepper = -1;
if (typeof(LeadingZero)=="undefined")
LeadingZero = true;
CountStepper = Math.ceil(CountStepper);
if (CountStepper == 0)
CountActive = false;
var SetTimeOutPeriod = (Math.abs(CountStepper)-1)*1000 + 990;
putspan(BackColor, ForeColor);
var dthen = new Date(TargetDate);
var dnow = new Date();
if(CountStepper>0)
ddiff = new Date(dnow-dthen);
else
ddiff = new Date(dthen-dnow);
gsecs = Math.floor(ddiff.valueOf()/1000);
CountBack(gsecs);
Diese Datei speicherst du dann als .js Datei, z. B. countdown.js
Als nächstes öffnest du dein HTML-Dokument und schreibst folgendes in deinen Body-Tag:
CODE:
<body onLoad="CountdownAnzeigen();">
</body>
Als nächstes kommt an die Stelle, an der du den Countdown haben möchtest, dieser Code:
CODE:
<script language="JavaScript">
TargetDate = "[MONAT/TAG/JAHR 00:00:00] GMT";
BackColor = "transparent";
ForeColor = "black";
CountActive = true;
CountStepper = -1;
LeadingZero = true;
DisplayFormat = "%%D%% Tage, %%H%% Stunden, %%M%% Minuten, %%S%% Sekunden";
FinishMessage = "[HIER KOMMT DER TEXT REIN, DER DA STTEHEN SOLL WENN DER COUNTDOWN AUF 0 ABGELAUFEN IST]";
</script>
<script language="JavaScript" src="[NAME DER JAVASCRIPT DATEI].js"></script>
Alle Stellen in eckigen Klammern ersetzt Ihr durch eigene Angaben. Auch bei DisplayFormat könnt Ihr Änderungen einfügen. Erklärung:
TargetDate: Die erste Zahl Steht für den Monat Die zweite für den Monat und die Letzt Zahl für das Jahr.
BackColor: in diesem Fall ist transparent eingestellt aber es können auch die normalen Farbwerte angegeben werden wie z.B für schwarz 000000 nur wichtig dabei ist es die Zahl ohne # einzufügen Farbcodes Fore Color: Ist die Schriftfarbe
Deine HTML-Datei könnte dann z. B. so aussehen:
ich habe es ausprobiert, und nach einigen Änderungen läuft es auch. Und: ich kann's gebrauchen. Daher Danke!
Änderungen:
1.: body onLoad="NameDerJavaScriptDatei();"
Du hattest nur geschrieben, als .js speichern, nicht aber, welcher Dateiname
2.: falsch: TargetDate = "TAG/MONAT/JAHR 00:00:00 GMT"; kein GMT, sondern AM oder PM, Tag und Monat vertauschen, keine Sekunden richtig z. B.: TargetDate = "05/16/2010 10:00 AM";
Schön wäre es, wenn jeder Workshop mit sinnvollen Bildchen (Du hat damit angefangen) versehen und mit einem funktionierenden Beispiel (wie bei Selfhtml) ausgestattet wäre. Dann würden sich viele Fragen von selbst beantworten und solche Fehler würden auch nicht entstehen.
Hier mein Beispiel, wie es bei mir funktioniert. Datum ist der 16.5.10, 10:00. Dann ist bei unserer Schützengilde Joker-Pokal. Hier der Link: http://dmarzik.bplaced.net/pehape/test2.html
Ist das jetzt ein Countdown der nach meiner Wunschzeit zählt?
Also z.B noch 30 Tage bis zur Eröffnung zur Eisdiele.
Oder ein Countdown der ab dann zählt wenn ich die Seite lade?
ich habe es ausprobiert, und nach einigen Änderungen läuft es auch. Und: ich kann's gebrauchen. Daher Danke!
Änderungen:
1.: body onLoad="NameDerJavaScriptDatei();"
Du hattest nur geschrieben, als .js speichern, nicht aber, welcher Dateiname
2.: falsch: TargetDate = "TAG/MONAT/JAHR 00:00:00 GMT"; kein GMT, sondern AM oder PM, Tag und Monat vertauschen, keine Sekunden
richtig z. B.: TargetDate = "05/16/2010 10:00 AM";
Schön wäre es, wenn jeder Workshop mit sinnvollen Bildchen (Du hat damit angefangen) versehen und mit einem funktionierenden Beispiel (wie bei Selfhtml) ausgestattet wäre. Dann würden sich viele Fragen von selbst beantworten und solche Fehler würden auch nicht entstehen.
Hier mein Beispiel, wie es bei mir funktioniert. Datum ist der 16.5.10, 10:00. Dann ist bei unserer Schützengilde Joker-Pokal. Hier der Link: http://dmarzik.bplaced.net/pehape/test2.html
Grüße
Dirk