Michael D.: 2 Frames mit einem Link wechseln?

Gibt es irgendeine Möglichkeit, wenn ich auf einen Link klicke, dass dann gleich 2 Frames gewechselt werden?

Ich habe nämlich folgendes Problem:
Ich habe einen Menüframe, wo neben den Links(Buttons) jeweils noch eine Grafik ist. Diese Grafik ist einmal ein Dreieck für alle Menüpunkte die man wählen kann und ein Kreis für den aktiven Menüeintrag.
Wenn ich jetzt auf einen Menüpunkt klicke, soll sich das Hauptframe ändern und der gelbe Punkt soll zu diesem Menüpunkt wechseln. Ich dachte, dass ich das mit 10 Menüs mache, wo jeweils der Punkt an einer anderen Stelle ist. Nur muß dieses Menü dann auch mit dem einem klick auch geladen werden!

Geht das? Oder gibt es einen "schöneren" Weg?

  1. schoen das es diese frage noch gibt.. *soifz* ;o)

    1. UPS,

      hätte Selfhtml doch nicht nur überfliegen sollen!

      Danke für die Antworten, Auch wenn ich sie selber hätte finden müssen!

      1. Großes Pardon!

        Ich hab' mir auch das Beispiel in SELFHTML 8 angeschaut.

        Dort stehen aber 3 Frames, wobei sich immer die beiden rechten ändern und das linke Auswahlframe immer unverändert bleibt.

        Ich schaffe es wirklich nicht, wenn ich nur 2 Frames habe (linke Auswahlframe und rechtes Hauptframe) durch drücken im linken Auswahlframe sowohl das linke Auswahlframe wie auch das rechte Hauptframe gleichzeitig zu finden.

        Ein solches Besipiel habe ich hier nicht gefunden - auch nicht im "Archiv".

        1. Hallo Andreas

          Ich schaffe es wirklich nicht, wenn ich nur 2 Frames habe (linke Auswahlframe und rechtes Hauptframe) durch drücken im linken Auswahlframe sowohl das linke Auswahlframe wie auch das rechte Hauptframe gleichzeitig zu finden.

          Dann sollte das Script im head-Bereich der Datei notiert werden, in der das Frameset definiert wird. Die Funktion dort sollte dort dann lauten:

          function ZweiFrames(URI1,F1,URI2,F2) {
            Frame1=eval(F1);
            Frame2=eval(F2);
            Frame1.location.href = URI1;
            Frame2.location.href = URI2;
          }

          und der Aufruf in einer der Dateien:

          <a href="javascript:parent.ZweiFrames('zweite_links.htm','links','zweite_rechts.htm','rechts')">Text</a>

          Ist jetzt ungetestet - wenn du nicht klar kommst, einfach noch mal melden hier.

          viele Gruesse
            Stefan Muenz

          1. Inspiriert vom Vorgänger, auch ungetestet:

            function ZweiFrames(frame1,url1,frame2,url2) {
              frames[frame1].location.href = url1;
              frames[frame2].location.href = url2;
            }

            1. Nun getestet und perfektioniert:

              // Inhalt von changeframes.js:

              function changeFrames() // paarweise Parameter: Frame, URL. Wenn Frame == "" dann aktuellen Frame.
              {
                for (var i=0; i<changeFrames.arguments.length-1; i+=2)
                {
                  var frame = changeFrames.arguments[i]
                  if(!frame)
                    frame = this.name
                  parent.frames[frame].location.href = changeFrames.arguments[i+1]
                }
              }

              /*
                Einbinden in HTML-Datei mit:
                <Script Type="text/javascript" Src="js/changeframes.js"></Script>
                Im Pfad "../" voransetzen wenn Aufruf aus Unterordner.
                "js/" weglassen wenn Unterordner nicht vorhanden.
                Aufruf-Beispiel:
                <A Href="javascript:changeFrames('','frame1.htm','Frame2','frame2.htm')>Ursprungsanordnung</A>
                Als Frame kann der bei <frame name="..."> im <Frameset> angegebene Name angegeben werden
                (in Hochkomma, da Anführungszeichen schon in Href verwendet werden),
                oder '' für aktuellen Frame,
                oder die laufende Nummer nach der Reihenfolge der <frame>-Tags in <frameset>, ab 0 gezählt.
                Es kann eine beliebige Anzahl Parameter eingegeben werden: Frame, URL, Frame, URL, ...
                *** Ein Service von http://www.bitwelt.de ***
              */

              // Wenn Sie diesen Beitrag gut finden, klicken Sie bitte 1 x auf "zur Archivierung vorschlagen".

              1. Hallo,

                lies bitte jetzt mal endlich die FAQ.

                *** Ein Service von http://www.bitwelt.de ***

                Lass bitte diese plumpe Werbung.

                // Wenn Sie diesen Beitrag gut finden, klicken Sie bitte 1 x auf "zur
                Archivierung vorschlagen".

                Und diese auch.

                Gruss,
                 CK

  2. Hallo!

    Gibt es irgendeine Möglichkeit, wenn ich auf einen Link klicke, dass dann gleich 2 Frames gewechselt werden?

    http://forum.de.selfhtml.org/faq/forumsfaq_4.htm#a9

    Ich habe nämlich folgendes Problem:
    Ich habe einen Menüframe, wo neben den Links(Buttons) jeweils noch eine Grafik ist. Diese Grafik ist einmal ein Dreieck für alle Menüpunkte die man wählen kann und ein Kreis für den aktiven Menüeintrag.
    Wenn ich jetzt auf einen Menüpunkt klicke, soll sich das Hauptframe ändern und der gelbe Punkt soll zu diesem Menüpunkt wechseln. Ich dachte, dass ich das mit 10 Menüs mache, wo jeweils der Punkt an einer anderen Stelle ist. Nur muß dieses Menü dann auch mit dem einem klick auch geladen werden!

    ???

    emu
    [vom zweiten teil nichts kapierend, traurig, traurig...]

  3. Gibt es irgendeine Möglichkeit, wenn ich auf einen Link klicke, dass dann gleich 2 Frames gewechselt werden?

    Ich habe nämlich folgendes Problem:
    Ich habe einen Menüframe, wo neben den Links(Buttons) jeweils noch eine Grafik ist. Diese Grafik ist einmal ein Dreieck für alle Menüpunkte die man wählen kann und ein Kreis für den aktiven Menüeintrag.
    Wenn ich jetzt auf einen Menüpunkt klicke, soll sich das Hauptframe ändern und der gelbe Punkt soll zu diesem Menüpunkt wechseln. Ich dachte, dass ich das mit 10 Menüs mache, wo jeweils der Punkt an einer anderen Stelle ist. Nur muß dieses Menü dann auch mit dem einem klick auch geladen werden!

    Geht das? Oder gibt es einen "schöneren" Weg?

    2 Links in 1:
    SelfHTML8/javascript/beispiele/zweiframes.htm

    Bild wechseln:
    document.BildName.src="..."
    (img-Tag muß Attribut name="..." haben)
    oder
    document.images[#].src="..."
    wobei # bei 0 anfängt die Bilder im Frame durchzuzählen
    Dann sollte man in einer Variable die Anzahl der Bilder vor dem Menü notieren, für spätere Änderungen.

    Ein umständliches Beispiel:
    SelfHTML8/javascript/beispiele/buttons.htm