Ich habe diese FunktionJavascript SetTimeout in foreach: Erstellen von Hilfe benötigen einen Verschluss
notes.forEach(function(note) {
setTimeout(function() {
playNote(note);
}, 1000);
});
Dies funktioniert nicht. Es spielt alle Noten gleichzeitig ab, anstatt sie nacheinander mit einer Lücke von 1 Sekunde zu spielen. Es sieht so aus, als müsste ich hier eine Schließung haben, damit das funktioniert. Könnte jemand mir helfen, diese Funktion zu reparieren, so dass es die Note mit der Verzögerung zwischen jeder Note spielen würde?
Frage ... das funktioniert, aber wenn ich eine andere Aktion zusammen mit playNote() hinzufügen, tut es nicht. Wenn ich zB class ('playing') vor playnote() und removeClass ('playing') nach playNote() anwende, spielt es alle Noten ab, aber die add/remove-Klasse passiert nur beim ersten Mal. Es funktioniert aber im Debugger ... irgendwelche Gedanken? – Prabhu
Sie entfernen Klasse "spielen" von was? Ich habe keinen Code, um diesen Text zu verstehen. – Cracker0dks
Egal, es zeigte und versteckte die CSS sehr schnell, um für das menschliche Auge wahrnehmbar zu sein, also fügte ich das in einem setTimeout hinzu und jetzt ist alles in Ordnung. Vielen Dank für Ihre Hilfe. – Prabhu