NEWS
Array funktioniert nicht [gelöst]
-
'javascript.0.variables.Zeit_v_2'/*Zeit v 2*/ var Zeit_v_2 = 0; var max = 4; var zeit = [10000, 60000, 60000, 120000, 120000]; function counter() { if(Zeit_v_2 <= max) Zeit_v_2++; else Zeit_v_2 = 0; setState('javascript.0.variables.Zeit_v_2', Zeit_v_2, false); } setInterval(counter, zeit[Zeit_v_2]);hi das Programm funktioniert so weit allerdings zählt es immer 10s mein array bewegt sich nicht. Was ist da das Problem?
-
'javascript.0.variables.Zeit_v_2'/*Zeit v 2*/ var Zeit_v_2 = 0; var max = 4; var zeit = [10000, 60000, 60000, 120000, 120000]; function counter() { if(Zeit_v_2 <= max) Zeit_v_2++; else Zeit_v_2 = 0; setState('javascript.0.variables.Zeit_v_2', Zeit_v_2, false); } setInterval(counter, zeit[Zeit_v_2]);hi das Programm funktioniert so weit allerdings zählt es immer 10s mein array bewegt sich nicht. Was ist da das Problem?
@lws-naja sagte: Was ist da das Problem?
setInterval() wird nur einmal bei Skript-Start aufgerufen mit der Variablen Zeit_v_2 = 0, die bei Start deklariert wurde.
Versuche es mal so:
function counter() { if(Zeit_v_2 <= max) Zeit_v_2++; else Zeit_v_2 = 0; setState('javascript.0.variables.Zeit_v_2', Zeit_v_2); setTimeout(counter, zeit[Zeit_v_2]); } counter(); -
@lws-naja sagte: Was ist da das Problem?
setInterval() wird nur einmal bei Skript-Start aufgerufen mit der Variablen Zeit_v_2 = 0, die bei Start deklariert wurde.
Versuche es mal so:
function counter() { if(Zeit_v_2 <= max) Zeit_v_2++; else Zeit_v_2 = 0; setState('javascript.0.variables.Zeit_v_2', Zeit_v_2); setTimeout(counter, zeit[Zeit_v_2]); } counter();@paul53 Ich habe es nun gelöst dennoch danke für die Antwort. Hier die Lösung für die es benötigen.
'javascript.0.variables.Zeit_v_2'/*Zeit v 2*/ var Zeit_v_2 = 0; var max = 4; var zeit = [ 300000, 60000, 60000, 60000, 120000]; var interval = setInterval(counter, zeit[Zeit_v_2]); function counter() { if(Zeit_v_2 <= max) Zeit_v_2++; else Zeit_v_2 = 0; setState('javascript.0.variables.Zeit_v_2', Zeit_v_2, false); clearInterval(interval); interval = setInterval(counter, zeit[Zeit_v_2]); }
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden