Timer & Abfangen des Inputs
lima-city → Forum → Die eigene Homepage → HTML, CSS & Javascript
abfangen
aktualisieren
code
fertigen code
fertiger code
funktion
gleichzeitig laufen
grobe fehler
http
leertaste
machen
paar
problem
richtige richtung
schlecht laufen
sekunde
tasten
tastendruck
url
verschiedenen systemen
-
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. )
PS: Mir reicht es, in die richtige Richtung geschubst zu werden, fertiger Code hilft mir persönlich weniger weiter. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
tchab schrieb:
Trotzdem gibt es hier mal fertigen Code: *klick*
PS: Mir reicht es, in die richtige Richtung geschubst zu werden, fertiger Code hilft mir persönlich weniger weiter.
Wie es funktioniert:
beim 1. Drücken der Leertaste wird die aktuelle Zeit gemerkt und es startet ein Timer mit
. 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 mitsetInterval()
zerstört und die Zählung ist beendet.clearInterval()
Beitrag zuletzt geändert: 30.5.2014 22:47:54 von hackyourlife -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage