Astrid: Links werden nicht als aktiv angezeigt

Hallo zusammen!

Ich habe inzwischen das Web und diverse Newsgroups nach einer Lösung durchforstet, leider aber nichts gefunden oder nach dem falschen gesucht. Ich hoffe, es kann mir jemand helfen...

Ich habe ein Frame mit einer Menünavigation, die aus reinen Textlinks besteht. Im Head von der Menü-HTML-Datei habe ich die Linkdefinitionen gemacht:
<style type="text/css">
 body { background-image:url(bilder-gest/fumenu_bild.jpg); background-repeat:no-repeat; background-attachment:fixed; }
 a:link { text-decoration:none; color: #000000; }
 a:visited { text-decoration:none; color: #000000; }
 a:active { text-decoration:none; color: #FF0000; }
 a:hover { text-decoration:none; color: #FF0000; }
</style>

Wenn ich aber jetzt ein Link anklicke und im Inhaltsframe die HTML-Datei geladen wird, wird im Menüframe der Link nicht als aktiv angezeigt.
Kann mir jemand sagen was ich falsch mache? Wäre echt nett! Danke!

Liebe Grüsse, Astrid

  1. Moin!

    Wenn ich aber jetzt ein Link anklicke und im Inhaltsframe die HTML-Datei geladen wird, wird im Menüframe der Link nicht als aktiv angezeigt.
    Kann mir jemand sagen was ich falsch mache? Wäre echt nett! Danke!

    Deine Erwartung ist falsch.

    Laut Standard ist ein Link in genau dem Zeitraum "active", indem der Benutzer den Mauszeiger über dem Link hat und _auf die Maustaste drückt_.

    Wenn er die Maustaste wieder losläßt, ist der Link nicht mehr "active".

    Der IE macht das aber in vielen Fällen falsch. Da ist der Link auch nach dem Loslassen noch "active". Auf dieses Verhalten solltest du dich aber nicht verlassen - eben weil es im Standard anders geregelt ist.

    - Sven Rautenberg

    --
    ss:) zu:) ls:[ fo:} de:] va:) ch:] sh:) n4:# rl:| br:< js:| ie:( fl:( mo:|
    1. Ist es dann möglich einen der Links mit der Rolloverfarbe einzufärben sobald ich ihn angeklickt habe und es im anderen Frame meine Datei geladen hat?
      Eine einfache Lösung wäre, wenn ich jeweils immer noch gerade das HTML-Dokument fürs Menü austauschen würde und dort jeweils den Link umfärbe und als statischen Text ohne Verlinkung definiere.
      Ich bin aber nicht gerade die Freundin von tausenden von Dateien...

      Vielen Dank im Voraus für jede Hilfe!

      1. Moin!

        Ist es dann möglich einen der Links mit der Rolloverfarbe einzufärben sobald ich ihn angeklickt habe und es im anderen Frame meine Datei geladen hat?
        Eine einfache Lösung wäre, wenn ich jeweils immer noch gerade das HTML-Dokument fürs Menü austauschen würde und dort jeweils den Link umfärbe und als statischen Text ohne Verlinkung definiere.
        Ich bin aber nicht gerade die Freundin von tausenden von Dateien...

        Du willst also "2 Frames auf einmal ändern". Die Lösung dazu steht in der </faq/> irgendwo bei Antwort 32 d (oder so).

        Alternativ kannst du mit Javascript "onclick" auch den Link farblich direkt ändern. Da es sich hier ja nur um einen Farbeffekt handelt, ist das sogar vorzuziehen, da deine Seite dann auch ohne Javascript noch funktioniert.

        Informationen zu DHTML gibts im DHTML-Kapitel von SelfHTML: http://selfhtml.teamone.de/dhtml/.

        - Sven Rautenberg

        --
        ss:) zu:) ls:[ fo:} de:] va:) ch:] sh:) n4:# rl:| br:< js:| ie:( fl:( mo:|
        1. Danke für die Hilfe!
          Das mit dem Einfärben hat jetzt geklappt, jetzt bin ich daran, herauszufinden wie ich den einen Link wieder auf schwarz setze sobald ich den nächsten angeklickt habe...

          1. Moin!

            Das mit dem Einfärben hat jetzt geklappt, jetzt bin ich daran, herauszufinden wie ich den einen Link wieder auf schwarz setze sobald ich den nächsten angeklickt habe...

            Setze alle Links auf schwarz und den neuen dann auf rot. Oder merke dir, welchen du zuletzt auf rot gesetzt hast, und setze den wieder auf schwarz.

            - Sven Rautenberg

            --
            ss:) zu:) ls:[ fo:} de:] va:) ch:] sh:) n4:# rl:| br:< js:| ie:( fl:( mo:|
            1. Ja danke, probier ich mal so. Ich weiss zwar noch nicht genau mit welchen Befehlen. Manchmal suche ich einfach nach viel zu komplizierten Lösungswegen obwohl es einen ziemlich einfachen gäbe.

              1. Ich habs geschafft. Vielleicht interessiert ja mal irgendjemand meine Lösung:

                <html>
                <head>
                <title>Beispiel</title>
                <style type="text/css">
                 a:link { text-decoration:none; color: #000000; }
                 a:visited { text-decoration:none; color: #000000; }
                 a:active { text-decoration:none; color: #FF0000; }
                 a:hover { text-decoration:none; color: #FF0000; }
                </style>
                <script language="JavaScript">
                function farbwechsel(url,frameaktuell)
                {
                 if (parent.Inhalt.location.href=url) {
                  document.getElementById("link1").firstChild.style.color="#000000";
                  document.getElementById("link2").firstChild.style.color="#000000";
                  frameaktuell.style.color="#FF0000";
                 }
                }
                </script>
                </head>

                <body>
                 <a href="kapitel1.htm" id="link1" target="Inhalt"><font onClick="farbwechsel('kapitel1.htm',this)">Link 1</font></a>
                   |  
                 <a href="kapitel2.htm" id="link2" target="Inhalt"><font onClick="farbwechsel('kapitel2.htm',this)">Link 2</font></a>
                </body>
                </html>