Hallo,
ich habe auf unserer (momentan noch lokal hinterlegten) Homepage eine Grafik einer nicht leuchtenden Glühbirne eingebaut, dies ist auch gleichzeitig der Zustand bei MouseOut, die bei MouseOver durch die Grafik einer leuchtenden Glühbirne ersetzt wird.
Ich habe heute schon probiert, das Ein- und Ausschalten nicht mehr vom Zustand der Maus abhängig zu machen, sondern zufallsgesteuert über eine Javascript-Funktion regeln zu lassen:
var Schalter = "aus";
function Beleuchtung_steuern ()
{
var Dauer = Math.round (Math.random () * 50);
if (Schalter == "aus")
{
Beleuchtung_einschalten ();
Schalter = "ein";
}
else
{
Beleuchtung_ausschalten ();
Schalter = "aus";
}
var Verzoegerung = window.setInterval ("Beleuchtung_steuern ()", Dauer);
}
function Beleuchtung_einschalten ()
{
document.getElementById("Gluehbirne").className = "Gluehbirne_an";
}
function Beleuchtung_ausschalten ()
{
document.getElementById("Gluehbirne").className = "Gluehbirne_aus";
}
Die html-Datei hat hier folgende relevante Angaben hierzu:
<div id="Gluehbirne" class="Gluehbirne_aus"></div>
Die css-Datei legt folgendermassen die Klassen fest:
div.Gluehbirne,
div.Gluehbirne_aus,
div.Gluehbirne_an
{
height: 233px;
margin: 0px 0px 0px 150px;
top: 0px;
width: 337px;
}
div.Gluehbirne_aus
{
background: url("../../Grafiken/Layout/Gluehbirne_aus.png") no-repeat;
}
div.Gluehbirne_an
{
background: url("../../Grafiken/Layout/Gluehbirne_an.png") no-repeat;
}
Leider musste ich feststellen, dass sich der Browser, wie befürchtet, aufhängt, weil ich diesen Effekt nur über eine sich immer wieder selbst aufrufende Funktion bewerkstelligen kann, außer ich hätte die Funktion falsch programmiert.
Auch bin ich mir nicht sicher, ob ich wirklich drei css-Definitionen benötige.
Da ich keine Ahnung von beispielsweise Flash, als mögliche Alternative habe, aber auch keine gif-Animation erstellen kann, da die transparenten Grafiken beim Umwandeln ihre Transparenz immer verlieren, weiß ich nicht, wie man dies noch umsetzen könnte.
Könnt ihr mir hier weiterhelfen?
Vielleicht habe ich ja "nur" Fehler im Javascript-Code.
Vielen Dank und Gruß
Enrico