Sabine Henke: Button mit 3 Zuständen - frameübergreifend

Guten Morgen allerseits,

ich hoffe sehr, ich habe bei meiner Suche im Archiv entsprechende Postings nicht übersehen:

auf einer Kunden-HP habe ich mit dem wirklich einfachen und leicht verständlichen Script aus der Forumsauslese

http://www.teamone.de/selfhtml/sfausles/tsfa_tcg.htm#a4

eine Navigationsleiste gebaut. Funktioniert super, sieht prima aus!

Aber: Die Seite läuft in Frames; und von 2 Seiten aus, die sich im Inhaltsframe befinden, wird der Navigationsframe geändert.

Funktioniert im großen und ganzen auch - bis auf die Tatsache, dass die "geclickten" Buttons erleuchtet bleiben, wenn man zu einem anderen Bereich innerhalb der HP wechselt.

Hat vielleicht jemand einen Tip für mich, wo mein Denkfehler liegt?

Das Script wurde für die Frame-Änderung folgendermaßen verändert:

function chgFrames(bildname)
{
parent.topframe.location.href=navpfad+"top_"+bildname+".htm";
parent.navi_left.document[inaktiv].src =pfad+inaktiv+"_out.gif";      /*Zustand nach OnClick*/
parent.navi_left.document.images[bildname].src = pfad+bildname+"_click.gif";
inaktiv=bildname;
    
}

Herzlichen Dank für Eure Hilfe

Sabine

  1. Tag auch,

    ich kenn das skript nicht, doch vermute ich mal, das es daran liegt:

    parent.navi_left.document[inaktiv].src =pfad+inaktiv+"_out.gif";      /*Zustand nach OnClick*/
    soll hier ein bild geändert werden ? als images[inaktiv].

    parent.navi_left.document.images[inaktiv].src =pfad+inaktiv+"_out.gif";      /*Zustand nach OnClick*/

    Struppi

    1. Hallo Struppi,

      das Original-Script kannst Du hier nachlesen:

      1. Hallo Sabine,

        tja und wo liegt genau das problem ?
        was heißt 'erleuchtet' ?
        die fragestellung, ist glaube ich ohne code nicht zu vertehn.
        zumal der code schnipsel ja richtig ist. aber nicht ersichtlich, was es anderes machen sollte.

        Struppi

        1. Hallo Sabine,

          tja und wo liegt genau das problem ?
          was heißt 'erleuchtet' ?
          die fragestellung, ist glaube ich ohne code nicht zu vertehn.
          zumal der code schnipsel ja richtig ist. aber nicht ersichtlich, was es anderes machen sollte.

          Struppi

          Ich schick' Dir den Link auf die Homepage.

          Problem: Wenn ich aus dem Inhaltsframe heraus (geht nur bei "Mainz" und "Projekte") einen Link anklicke, wird im Navigationsframe zwar die gewählte Grafik "gehighlighted", wird aber nicht "inaktiv". Wenn ich dann etwas anderes wähle, bleibt die zuvor geänderte Grafik auch "high". Wenn ich "treu und brav" im Navigationsframe bleibe, funktioniert alles.
          Ich bin mit meinem Latein am Ende und freue mich über jede Hilfe.

          Danke - Sabine

          1. Hallo Sabine,

            also beim groben überfliegen und dem groben verstehen um was es genau geht, würde ich mal vermuten:
            du lädst im Inhaltsframe das script nochmal (was nich unbedingt notwendig ist) und hast da zwei Probleme:
            1.) hat die variabel 'inaktiv' einen neuen Wert
            2.) sind in den Funktionen einige 'document.' anweisungen - die sich immer auf das aktuelle dokument beziehen, aber in diesem Fall nicht sollen.

            Lösungsvorschlag:
            im inhaltsframe die links mit onClick= 'parent.navi_left.chgFrames("obstmarkt");' aufrufen
            und/oder in den Funktionen: chgBoth und chgLeft die Bilder auch direkt ansprechen parent.navi_left.document[name]... usw.

            man sollte bei solchen konstrukten aber immer im auge behalten, das die seiten ohne framesets fehlermeldungen erzeugen.

            Struppi

            1. Ach nochwas

              beim durchstöbern fand ich auf der "Kontakt"-seite ein skript zum überprüfen der Formular angaben, da müßte am ende noch ein return true stehen, da sonst eigentlich das formular nicht abgeschickt wird. (naja, geht eh nicht, wie ich grad festgestellt hab, dann is es ja auch egal,[action = "/_vti_bin/shtml.dll?/kontakt/kontakt.htm", Fragezeichen ?]).