java script, togglefunktion mit geschwindigkeitsänderung

Gast #4548954
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
Angehängte Dateien:
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.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 10 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.