Guten Morgen
im folgenden ist ein Javascript dargestellt, welches bei einem Menü für das Stehenbleiben des RolloverEffekts nach dem Klick auf einen der Menüpunkte sorgen soll.
Hab das Script ohne großartige Kenntnisse über Javascript aus einer Vorlage umgeschrieben, die statt Textfarben Grafiken verwendet. Wie die Überschrift besagt funktioniert das bei Cr & FF super. Op & IE führen 'mouse_over' aus. 'mouse_out' wird immer ausgeführt auch bei Nichterfüllung der If-Bedingung. Dafür bleibt der komplette 'click'-Block scheinbar unbeachtet.
// Variable initialisieren
var geclickt;
// beim Überfahren
function mouse_over(loc) //Übergeben wird die id des Elements
{
loc.style.color='rgb(81,0,29)';
}
// beim Verlassen
function mouse_out(loc)
{
if (geclickt != loc) { loc.style.color='rgb(10,80,0)'; }
} //wird immer ausgeführt under Op und IE
// beim Klicken
function click(loc,anz) //Übergeben wird zusätzlich die Anzahl der vorhandenen Links
{
// Rücksetzen der Farben
Link1.style.color = 'rgb(10,80,161)'; //Wird nie ausgeführt unter Op und IE
if(anz > 1) { Link2.style.color = 'rgb(10,80,161)'; }
if(anz > 2) { Link3.style.color = 'rgb(10,80,161)'; }
if(anz > 3) { Link4.style.color = 'rgb(10,80,161)'; }
if(anz > 4) { Link5.style.color = 'rgb(10,80,161)'; }
if(anz > 5) { Link6.style.color = 'rgb(10,80,161)'; }
geclickt = loc;
loc.style.color='rgb(81,170,29)';
}
Der Aufruf erfolgt folgendermaßen:
<a href="../Content/Filialen.php" target="Inhalt" id="Link1" onMouseOver="mouse_over(Link1);" onMouseOut="mouse_out(Link1);" onClick="click(Link1,3);">-Filialen</a>
Ist das Script fehlerhaft oder liegt eventuell ein anderes Problem vor? Über schnelle Hilfe würde ich mich sehr freuen.
Danke
Peter