Forum: Compiler & IDEs java script, togglefunktion mit geschwindigkeitsänderung


von vanii (Gast)


Angehängte Dateien:

Lesenswert?

Ich versuche gerade mit meinem espruino in java skript einen 4x4x4- LED- 
cube anzusteuern. dabei möchte (nur so zum spaß) eine toggle-fnktion mit 
automatischer zeitänderung schreiben. soll heißen: 5x alle 200ms 
blinken, dann umschalten und nur mehr alle 500ms 5x blinken usw.. die 
funktion toggle funktioniert intern an sich d.h. "anz" & "time" werden 
intern erhöht und auch wieder rückgesetzt aber in der 
"setinterval"-funktion wird "time" nicht geändert und behält immer 
seinen anfangswert. weiß jemand was ich falsch mache?

schon mal danke im voraus,
lg vanii

von Heiko G. (heikog)


Lesenswert?

setInterval(toggle, time) erzeugt einen 'timer' der die Funktion toggle 
alle 'time' msek aufruft. Wenn dieses callback einmal definiert ist 
haben spätere Änderungen der Variablen time keine Auswirkung mehr. Um 
die Zeit zu ändern musst du mit changeInterval die gespeicherte Zeit 
ändern, oder mit clearInterval löschen und neu anlegen.

http://www.espruino.com/Flashing+Lights

Alternativ könnte man auch den Timer einmalig mit 100msek definieren und 
dann in toggle() entscheiden ob die LEDs bei jedem 2. oder 5. Aufruf 
umgeschaltet werden.

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.