Countdown / Timer
Mit dieser Formel in einem Formelfeld wird ein Countdown oder Timer erstellt, der kontinuierlich mitläuft. Je nachdem, ob man zu einem bestimmten Datum hochzählen oder ab einem bestimmten Datum zählen lassen möchte, muss die Formel "var distance = now - countDownDate" umgekehrt werden.
let startTime := number(datetime(Datumsfeld));
html("
<p id='demo'></p>
<script>
// Set the date we're counting down to
var countDownDate = " + startTime + ";
// Update the count down every 1 second
var x = setInterval(function() {
// Get today's date and time
var now = new Date().getTime();
// Find the distance between now and the count down date
var distance = now - countDownDate;
// Time calculations for days, hours, minutes and seconds
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);
// Output the result in an element with id='demo'
document.getElementById('demo').innerHTML = days + ' Tage ' + hours + ' Stunden ' + minutes + ' Minuten ' + seconds + ' Sekunden';
// If the count down is over, write some text
if (distance < 0) {
clearInterval(x);
document.getElementById('demo').innerHTML = 'EXPIRED';
}
}, 1000);
</script>
")
Quelle: https://www.w3schools.com/howto/howto_js_countdown.asp
10 Antworten
-
Hallo Stefanie, danke für das Skript. Funktioniert fast perfekt. Bei mir versagt es nämlich den Dienst, sobald man in den Fullscreen Modus wechselt. Weißt du warum? Viele Grüße
-
Ich habe zumindest schonmal die Ursache gefunden, warum das Skript nicht im Vollbildmodus funktioniert. Wenn man ein Formular im Vollbildmodus anzeigen lässt, wird der gesamte Code der Seite dupliziert () und quasi in Vollbildstyles an den Code der Seite ohne Vollbild hinten dran gehangen. Damit existieren dann 2 Elemente mit der ID XXX und das Skript verarbeitet weiterhin im hinteren Layer den Timer im Nicht-Vollbildmodus.
Ich komme an dieser Stelle leider nicht weiter und wäre für etwas Hilfe sehr dankbar.
-
Hallo Ralf,
du kannst den Skript so schreiben
let me:=this; closeRecord(); openFullscreen(me)
dann sollte es klappen
GrüßeLeo
-
Stefanie Leonid Semik Guten Morgen. Vielen Dank an Stefanie für die Datenbank. Ich habe die Ursache des "Versagers" gefunden. Die o. g. Vorgehensweise funktioniert nur, wenn der Datensatz aus einer Ansicht vom Typ "Tabelle" heraus geöffnet wird. Wird der Datensatz in einer Ansicht "Formular" direkt und eben nicht zunächst als Popup angezeigt, versagt der Countdown im Fullscreen auch mit Leos Skript. Die Herausforderung ist nun, dass Dashboard ja in der Regel eben in der Formularansicht dargestellt werden und ich deswegen ungern den Ansichtstyp ändern möchte. Das wirkt einfach nicht gut. Leo, hast du eine Idee wie man das trotzdem zum Laufen bekommen könnte? Vielen herzlichen Dank vorab.
Content aside
-
2
„Gefällt mir“ Klicks
- vor 2 JahrenZuletzt aktiv
- 10Antworten
- 475Ansichten
-
3
Folge bereits