Lesefortschritt:

5, 4, 3, 2, 1 – Happy New Year: Der Silvestercountdown

31. Dezember 2023 | HTML, Scripts

Dieser Beitrag beinhaltet 1253 Wörter. – Geschätzte Lesezeit: ca. 7 Minuten.

Wie lange dauert es eigentlich noch bis zum Jahreswechsel? Mit einem Countdown, bestehend aus ein klein wenig PHP-Code, verpassen Sie den Jahreswechsel ganz bestimmt nimmer. Wir zeigen Ihnen, wie’s geht.

Zunächst benötigen Sie ein PHP-Script, das Ihnen die Datums- und Zeitdifferenz berechnet. In der Folge sehen Sie ein solches Script – Sie können es kopieren und in den <head>-Bereich Ihrer Webseite einfügen. Falls Sie das Divi-Theme verwenden, können Sie das Script auch in ein Code-Modul kopieren:
<script>
var countDownDate = new Date("2025-01-01 00:00:00").getTime();
var x = setInterval(function() {
  var now = new Date().getTime();
  var distance = countDownDate - now;
  var days = Math.floor(distance / (1000 * 60 * 60 * 24));
  var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
  var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
  var seconds = Math.floor((distance % (1000 * 60)) / 1000);
  document.getElementById("timer").innerHTML = "<h5>Das nächste Jahr beginnt in " + days + " Tagen " + hours + " Stunden " + minutes + " Minuten und " + seconds + " Sekunden.</h5>";
  if (distance < 0) {
    clearInterval(x);
    document.getElementById("timer").innerHTML = "<h5>Happy New Year!</h5>";
  }
}, 1000);
</script>

Eine Anpassung wird womöglich nötig sein auf Zeile 2 des Scripts. Dieses berechnet nämlich die Dauer bis zum 1.1.2025 um 00:00 Uhr. Dieses Datum können Sie anpassen. Verwenden Sie die Formatierung «JJJJ-MM-TT hh:mm:ss».

Dort wo Sie den Timer auf Ihrer Website anzeigen lassen möchten, fügen Sie nun in der HTML-Ansicht folgenden Text ein:

<p id="timer"></p>

Nun erhalten Sie an der entsprechenden Stelle folgendes angezeigt:

Bei Ablauf der Zeit zählt der Timer nicht mehr weiter; stattdessen zeigt er – wie im Script vermerkt –  «Happy New Year!» an. Die Texte können Sie natürlich ebenfalls frei anpassen.

Das war schon ziemlich einfach. Nur geht noch mehr.

Automatischer Sekundentimer

Das obige Script hat nämlich einen Haken, wenn es kurz vor Ablauf steht. Dann sind etwa unschöne Ausgaben wie «Das nächste Jahr beginnt in 0 Tagen 0 Stunden 0 Minuten und 19 Sekunden.» möglich.

Nur auf den ersten Blick ein Rechenfehler

Während der Sommerzeit von Ende April bis Ende Oktober scheint es, als ob das Script einen Rechnungsfehler macht. Rechnet man nämlich anhand der verbleibenden Stunden nach, so sieht es aus, als ob der Zähler-Endtermin auf Neujahrsmorgen um 1:00 Uhr statt um 0:00 Uhr angesetzt wäre.

Das macht jedoch nur den Anschein: Beim Wechsel auf die Winterzeit erleben wir nämlich eine Stunde doppelt. Dies wird vom Script berücksichtigt, so dass die Rechnung wieder bestens aufgeht.

Doch auch das lässt sich beheben – etwa mit einem Sekundentimer, der auf der Basis des obigen Scripts funktioniert, aber am Ende alle Ausgaben in Sekunden umrechnet. Sie können auch diese Variante kopieren und in den <head>-Bereich Ihrer Webseite einfügen. Falls Sie das Divi-Theme verwenden, können Sie das Script auch hierbei in ein Code-Modul kopieren. So sieht der Code aus:
<script>
var countDownDate = new Date("2025-01-01 00:00:00").getTime();
var x = setInterval(function() {
  var now = new Date().getTime();
  var distance = countDownDate - now;
  var days = Math.floor(distance / (1000 * 60 * 60 * 24));
  var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
  var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
  var seconds = Math.floor((distance % (1000 * 60)) / 1000);
  var output = ((days*86400)+(hours*3600)+(minutes*60)+(seconds));
  document.getElementById("timer").innerHTML = "<h5>Das nächste Jahr beginnt in " + output + " Sekunden.</h5>";
  if (output < 0) {
    clearInterval(x);
    document.getElementById("timer").innerHTML = "<h5>Happy New Year!</h5>";
  }
}, 1000);
</script>
Auch in diesem Snippet können Sie die Zeile 2 anpassen und Ihr Wunschdatum einfügen – immer im Format «JJJJ-MM-TT hh:mm:ss». Ergänzt haben wir den Code aus dem ersten Beispiel mit einer Rechenfunktion auf Zeile 10, welche die verbleibende Sekundenzahl bestimmt.

An jener Stelle auf der Website, wo der Timer eingeblendet werden soll, platzieren Sie nun in der HTML-Ansicht wiederum folgende Zeile:

<p id="timer"></p>
Die Ausgabe sieht nun so aus:

Probieren Sie’s aus – ist recht simpel. Und übrigens: «Happy New Year!»

Und klar: Der Silvestercountdown ist nicht saisonabhängig. Er funktioniert sinngemäss natürlich mit jedem beliebigen Datum.

Werbung

Werbung

 

Kostenlose WordPress- und Divi-Tricks im Abo

Wir schicken Ihnen sporadisch (weniger als 10x jährlich) neue Tricks für Wordpress und das Divi-Theme, aber auch hilfreiche CSS- und HTML-Codes frei Haus.

Füllen Sie zur Anmeldung das folgende Formular aus. Angaben mit * sind Pflichtangaben.






Vielen Dank.

Pin It on Pinterest

Share This