kostenloser Webspace werbefrei: lima-city


Timer & Abfangen des Inputs

lima-cityForumDie eigene HomepageHTML, CSS & Javascript

  1. Autor dieses Themas

    tchab

    tchab hat kostenlosen Webspace.

    Ich habe momentan vor, folgendes in Javascript(+jquery) zu realisieren:

    Über das Drücken der Leertaste soll ein Timer gestartet werden (das funktioniert noch). Bis dieser Timer ausläuft oder die Leertaste wieder gedrückt wird sollen alle Tastendrücke (gut, ich catche halt alle, das ist mir klar) gezählt werden.
    Das Zählen hatte auch funktioniert, jedoch habe ich keine Ahnung, wie ich den Timer gleichzeitig laufen lassen kann und die Tasten zählen.

    Mein erster Versuch war es, den Timer mit setInterval() zu aktualisieren (die verbleibende Zeit wird ausgegeben), doch dabei stieß ich nicht nur auf das Problem, dass diese Funktion auf verschiedenen Systemen nicht gleich zählt sondern auch darauf, dass die Tasten nicht mehr gezählt werden (dem mit der Zeit kann man zwar entgegen wirken, aber das scheint ja sowieso eine Sackgasse für mich zu sein). Bei jedem Tastendruck die Zeit zu aktualisieren macht auch keinen Sinn, weil es ja sein kann, dass ein paar Sekunden zwischen diesen vergehen.

    Die einzige Möglichkeit, die mir gerade noch einfällt ist eine Funktion mit setInterval() so schnell wie möglich zu wiederholen (also 1 Millisekunde), aber die Funktion dahinter wird nie so schnell fertig, das würde wenn überhaupt also auch nur schlecht laufen. Des weiteren gibt es weiterhin die Möglichkeit, dass ein Tastendruck genau zwischen diesem Intervall statt findet (wobei dieser ja länger als eine ms dauert, aber dann ist auch wieder die Frage, ob ich das abfangen kann).

    Welche Alternativen habe ich? Noch mal zusammen gefasst: Ich möchte die Tasten in einem bestimmten Zeitrahmen abfangen und die verbleibende Zeit ausgeben (Ohne Ausgabe der Zeit wäre es ja wesentlich einfacher).

    Hier ist mal das, was ich mir bisher zusammengeschustert habe. (Falls ihr grobe Fehler seht, dann sagt es mir bitte. :biggrin: )

    PS: Mir reicht es, in die richtige Richtung geschubst zu werden, fertiger Code hilft mir persönlich weniger weiter.
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    tchab schrieb:
    PS: Mir reicht es, in die richtige Richtung geschubst zu werden, fertiger Code hilft mir persönlich weniger weiter.
    Trotzdem gibt es hier mal fertigen Code: *klick*

    Wie es funktioniert:
    beim 1. Drücken der Leertaste wird die aktuelle Zeit gemerkt und es startet ein Timer mit
    setInterval()
    . Der Timer holt sich immer die aktuelle Zeit, berechnet die Differenz mit der Startzeit und gibt sie als Sekunden aus. Wird die zuvor definierte Dauer erreicht, so wird der Timer mit
    clearInterval()
    zerstört und die Zählung ist beendet.

    Beitrag zuletzt geändert: 30.5.2014 22:47:54 von hackyourlife
  4. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!