[Verbesserungsvorschlag] Enrico: Funktion verursacht Absturz -> Alternativen?

Beitrag lesen

Hallo henman,

danke für Deine schnelle Antwort.

Ich habe Deinen Tip (hoffentlich) umgesetzt und den Code folgendermassen umgebaut:

var Schalter      = "aus";
   var Warteschleife = "";

function Beleuchtung_steuern ()
   {
      Dauer = Math.round (Math.random () * 5000);

if (Schalter == "aus")
      {
         Warteschleife = window.setInterval ("Beleuchtung_einschalten ()", Dauer);
         Schalter      = "ein";
      }
      else
      {
         Warteschleife = window.setInterval ("Beleuchtung_ausschalten ()", Dauer);
         Schalter      = "aus";
      }
   }

function Beleuchtung_einschalten ()
   {
      document.getElementById("Gluehbirne").className = "Gluehbirne_an";
      window.clearInterval (Warteschleife);
      Beleuchtung_steuern ();
   }

function Beleuchtung_ausschalten ()
   {
      document.getElementById("Gluehbirne").className = "Gluehbirne_aus";
      window.clearInterval (Warteschleife);
      Beleuchtung_steuern ();
   }

Jetzt funktioniert auch alles ohne Abstürze.

Ob das Skript allerdings zu merkbaren Verzögerungen während des "normalen" Homepage-Betriebes führen, kann ich noch nicht sagen, weil ich jetzt erst Schritt für Schritt den eigentlichen Code einbaue.

Wie könnte man den Code denn sicherheitshalber noch optimieren?

Gruß
Enrico