Fortlaufender Zähler (Schuldenuhr)

  • Hallo liebe Comunity,

    wie ihr an dem unbeholfenen Titel sehen könnt, weiß ich nicht einmal wie ich mein anliegen prägnant (und damit Googlebar) formulieren soll.
    Dabei ist es wahrscheinlich recht einfach (zu erklären)

    Ich hätte gerne eine Counter der sich sekündlich um einen gewissen Betrag erhöht:
    so wie auf dieser Website:
    https://staatsschulden.at/

    Dabei sollte er (logischerweise) unabhängig im Hintergrund weiter Zählen. (Das funktioniert dann über PHP?)

    Ich hab basiskenntnisse in HTML & CSS und bin über jeden tipp dankbar wie man das so simpel wie möglich lösen kann!

    Danke schon im Vorraus!

    LG aus Salzburg!

    • Offizieller Beitrag

    Hallo,

    Clientseitig benötigst Du JavaScript.
    Wenn er nach einem HTTP-Request beim letzten Stand wieder ansetzen soll, musst Du den Wert übergeben.
    Dafür gibt es verschiedene Varianten. Ich würde das vermutlich adhoc lösen, indem ich über einen EventListener HTTP-Requests abfange und vor deren Ausführung den aktuellen Stand per Ajax an die Session übergebe.
    Daraus resultieren zwar für jeden Reload zwei HHTP-Requests, aber ich bin kein Freund von Cookies oder LocalStorage, was weitere Varianten wären.

    Gruß Arne

  • Vielen dank für die schnelle Rückmeldung!

    Naja er soll ja nicht beim letzten Stand ansetzten sonder immer weiter Zählen. Eigentlich wäre es ja eine einfache Rechnung. X+Y, +Y und das jede Sekunde. Wenn ich dich richtig verstehe, würde der das +Y immer dann machen wenn jemand die Seite aufruft. Sorry wenn ich da falsch liege. Aber meine Kenntnisse sind wirklich nur Basics und bevor ich eine neu Sprache lerne, würde ich gern wissen ob sie das von mir gewünschte Resultat liefert.

    Grüße aus Salzburg

    • Offizieller Beitrag

    Dann beschreib bitte nochmal, was genau DU damit vorhast.
    Was für ein Zähler soll das sein und wann genau soll der weiter laufen.
    Ich verstehe das gerade so, dass der Zähler auch weiterlaufen soll, wenn der User gar nicht auf der Seite ist? Dazu fällt mir aber bspw. kein sinnvoller Fall ein.

    Vielleicht verstehe ich Dich ja auch falsch, daher bitte konkret erklären, was DU vorhast und nicht, wie es andere "ähnlich" machen.

    Gruß Arne

    • Offizieller Beitrag

    Du willst die Staatsschulden von Österreich bei Dir auf der Seite mit- bzw. hochzählen?
    Wenn nicht, worauf soll der Counter basieren? Das generelle Prinzip habe ich Dir in #2 bereits erklärt.

    Es gäbe auch die Möglichkeit, den Counter beim Ausliefern der Seite mit dem aktuellen Wert zu versehen, und in jedem Intervall die Daten an den Server zurückzusenden.
    Das wäre aber aus meiner Sicht sinnfrei, weil jeder Datenversand an den Server auf dem HTTP-Protokoll basiert und somit permanant Requests an den Server durchgeführt werden.

    Wie bereits erwähnt, gibt es noch die Möglichkeit der Cookies oder LocalStorage.
    Ich vermute, dass das in dem Fall genutzt wird, ohne das jetzt näher inspiziert zu haben...

    Gruß Arne

  • Hallo Hollowpineapple,
    willst die Schulden von Österreich bezahlen ? :):) 

    ich hab da was zusammen gefriggelt
    aber dies ist auf eben das Österreich bezogen weil es einen bestimmten offset Start hat
    WIR wissen ja noch immer nicht genau was Du wirklich willst ! ? ! -raten kann ichs nicht -

    HTML
    <!DOCTYPE html><html>    <head>        <title>Schulden AT</title>        <meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0">        <style>            h1{    text-align: center;                    color: red;            }        </style></head>    <body>        <h3>19 Dollar pro Sekunde</h3><br>        <h1 id="total"></h1>               <script>            var repeat = setInterval(function () { sekundenZaehlen()  }, 1000);      function sekundenZaehlen() {               a = new Date("2017-02-23 10:14:10");               b = new Date();                c = a.getTime();                d = b.getTime();e = d - c;               f = e / 1000;    // Sekunden mit tausenstel                 g = f / 60;     // Minuten mit Tausendstel                h = g / 60;     // Stunden mit Tausendstel                var summe = 19;               zahl = Math.floor(f) * summe;                plus = 293147823935; var gesamt = zahl + plus;                document.getElementById("total").innerHTML = gesamt;   }        </script>    </body></html>

    damit braucht man keine Speicherung - bzw. ist es der Timestamp u. der offset-
    die Uhr des jeweiligen PC´s muss aber richtig gestellt sein -

    Okay - schaus Dir an u. probiere es -

    Gruß modem-kind

    8 Mal editiert, zuletzt von modem-kind (23. Februar 2017 um 10:29)

  • mmm :confused:
    in diesem Zusammenhang ja fester Betrag pro Sekunde Addition - oder ?

    der feste Timestamp ist gleich der OffsetSumme zu diesem Zeitpunkt !

    dem Jetzt Stamp(groß) minus und dem Festem Stamp (kleiner )
    sind es die Sekunden Differenz - die mal summe
    dazu addiert werden zur OffSetSumme

    jedenfalls zählt es richtig hoch ohne eine Zwischen Speicherung auch morgen noch
    oder wat verstehe ich nicht - mmm :confused:

    LG :cool:

  • Guten Morgen Arne und Modem-Kid,
    vielen lieben Dank für eure Hilfe.

    Wirke tatsächlich am Abbau der österreichischen Schulden mit, aber das ist ein anderes Thema.
    Was ich möchte ist trotzdem genau das, was Modem-Kid geschrieben und "gefrigglt hat", jede Sekunde einen Betrag hinzufügen. "Gezählt" werden soll der Verbrauch von bspw. Plastik. Dabei werden die Zahlen für 1 Jahr genommen und dann durch die Sekunden geteilt. Sinkt der Verbrauch, wird nach Berechnung der neuen Zahlen entsprechend korrigiert. Also tatsächlich das exakt gleiche was die Staatsschulden Uhr macht.

    Ich habe das Script gerade angetestet und es macht genau das was ich gesucht habe! VIELEN VIELEN DANK! (vlt. gibts ne Möglichkeit wie man sich direkt bei dir bedanken kann?)

    LG aus Salzburg!