Udo: Mouseover, Mouseout und Mouseclick

Hallo und Frohe Weihnachten

Ich habe da ein kleines(?) Problem.
Ich hab ein Frameset bestehend aus ein NavFrame und Hauptframe

Im NavFrame sind grafische Buttons die sich ändern bei Mouseover, Mouseout und Mouseclick, ist ja nichts besonderes und funktioniert ja auch alles Prima. Button gedrückt "geklickt" Grafik ändert sich, der zuletzt gedrückte Button ist damit Deaktiviert.
Jetzt hab ich aber im Hauptframe einen Link am Ende des Textes auf das nächste Thema, dementsprechend sollen sich auch die Buttons im NavFrame ändern was auch funktioniert, wenn ich mit der Maus über den Link fahre bzw. klicke ändern sich dementsprechend die Grafiken der Buttons (Mouseover, Mouseout und Mouseclick)im NavFrame und die gewünschte Seite wird angezeigt. Soweit alles Prima, nur wenn ich anschließend im NavFrame mit der Maus über den Button des Themas fahre ändert sich auch die Grafik des schon gedrückten Buttons was es
im NavFrame nicht macht. Da ja bei schon einmal gedrückten Button bzw. aktiven Button nicht Passieren sollte da er ja schon einmal gedrückt wurde.

mmhhh..... jetzt weiß ich nicht mehr weiter woran es liegen könnte,

Wäre nett wenn mir da jemand helfen könnte.

Mfg. Udo Schlautmann

Hier mal ein Auszug aus dem Script (ist als separate *.js  Datei gespeichert)

var mn_0 = "a";
var mn_1 = 0;

var mn1 = new Array();
var mn2 = new Array();
var mn3 = new Array();

mn1[0] = new Image(); mn1[0].src = "images/mn1a.gif";
mn2[0] = new Image(); mn2[0].src = "images/mn1b.gif";
mn3[0] = new Image(); mn3[0].src =  "images/mn1c.gif";

mn1[1] = new Image(); mn1[1].src = "images/mn2a.gif";
usw. usw. .......

und hier die Functionen des Scripts

function mn_over (nr,na)
  {
        if (mn_1 != nr)
           {
              parent.frames["NavFrame"].document.images[na].src =mn2[nr].src
         }
}

function mn_out (nr,na)
  {
      if (mn_1 != nr)
        {
            parent.frames["NavFrame"].document.images[na].src = mn1[nr].src;
      }
}

function mn_click (nr,na)
  {
        if (mn_1 != nr)
          {
            parent.frames["NavFrame"].document.images[mn_0].src = mn1[mn_1].src;
            parent.frames["NavFrame"].document.images[na].src = mn3[nr].src;
        }
    mn_0 = na; /* Aktiver Button Name */
    mn_1 = nr; /* Aktive Button Nr. */
}

Aufruf im NavFrame
<a href="Thema1.htm" onmouseover="mn_over(0,'a')" onmouseout="mn_out(0,'a')" onclick="mn_click(0,'a')"><img border="0" src="images/Mn1c.gif" width="59" height="27" name="a"></a>
<a href="Thema2.htm" onmouseover="mn_over(1,'b')" onmouseout="mn_out(1,'b')" onclick="mn_click(1,'b')"><img border="0" src="images/Mn2c.gif" width="59" height="27" name="b"></a>
<a href="Thema3.htm" onmouseover="mn_over(2,'c')" onmouseout="mn_out(2,'c')" onclick="mn_click(2,'c')"><img border="0" src="images/Mn3c.gif" width="59" height="27" name="c"></a>
usw. ......

Aufruf im Hauptframe am ende des Textes
<a href="Thema2.htm" onmouseover="mn_over(1,'b')" onmouseout="mn_out(1,'b')" onclick="mn_click(1,'b')">Thema2</a>

  1. Hi Udo,

    Hallo und Frohe Weihnachten

    jetzt schon? ;)

    [...] Soweit alles Prima, nur wenn ich anschließend im NavFrame mit der Maus über den Button des Themas fahre ändert sich auch die Grafik des schon gedrückten Buttons was es im NavFrame nicht macht. Da ja bei schon einmal gedrückten Button bzw. aktiven Button nicht Passieren sollte da er ja schon einmal gedrückt wurde.

    Du müsstest die bereits geklickten Buttons irgendwo speichern und dies vor dem Tausch der Grafik abfragen. So viel zu Javascript...

    Viel einfacher dürfte es allerdings sein, dein Vorhaben mit CSS zu realisieren.

    http://aktuell.de.selfhtml.org/artikel/css/mouseover/
     -> http://aktuell.de.selfhtml.org/artikel/css/mouseover/beispiel5.htm

    Wenn du das Pseudoformat :visited *nach* :hover definierst, wird :hover bei bereits angeklickten Bildern nicht mehr berücksichtigt.

    http://selfhtml.teamone.de/css/eigenschaften/pseudoformate.htm#link_visited_hover_active_focus

    Vorteil: Diese Methode ist einfacher in der Anwendung und funktioniert auch ohne Javascript.

    LG Roland

    1. Hallo Roland

      Hallo und Frohe Weihnachten
      jetzt schon? ;)

      ups bin ich zu früh? :-))

      Danke werde ich mal versuchen.

      Gruß Udo