Javascript
Mit Javascript kannst du Szenen mit eigener Logik erweitern – z. B. UI anpassen, kleine Effekte einbauen, Zeiten messen oder externe Schnittstellen triggern.
Wichtig: JS ist inkonstant – beim Betreten jeder Szene wird es neu ausgeführt. Teile, die überall gelten sollen, gehören in die Masterszene
[[ ]].
Starte dein Script immer leicht verzögert, damit die Szene fertig gerendert ist:
Gute Praxis (sehr wichtig)
-
Idempotent denken: Code darf mehrfach laufen, ohne doppelten Effekt zu erzeugen.
Nutze einen „Once“-Guard: -
Aufräumen: Wenn du
setInterval/Event-Listener setzt, räume sie auf (oder nutze{ once:true }beiaddEventListener). -
Robust warten: Wenn du ein Element brauchst, das evtl. später kommt, warte kurz darauf:
functionwaitSel(waitSel(sel, cb, tries=20)20){ const el =document.querySelector(document.querySelector(sel); if (el) returncb(cb(el); if (tries--) returnsetTimeout(setTimeout(()=>waitSel(waitSel(sel, cb, tries),100)100); }setTimeout(setTimeout(()=>waitSel(waitSel('.btn-primary',btn=btn=>{ btn.classList.add(classList.add('pulse'); }),200)200);