Micha: SlideMenu2 anpassen

Hallo,

ich benutze das Slidemenu2 von Thomas Brattli (www.dhtmlcentral.com). Dieses Javascript Menü ist sehr flexibel anzupassen und der große Vorteil ist, es funktioniert unter fast allen Browser-Versionen.
Ich habe das Menu soweit angepaßt und es funktioniert auch.
Jetzt zu meinem Problem:
Die Homepage auf der es eingesetzt wird, hat drei Frames. Im linken (left_defaultmasterborder.html) wird das Menu angezeigt. Dann gibt es noch einen header- und einen body-frame. Wenn man auf einen Menüpunkt klickt, öffnet sich das gewünschte html-Dokument im Body-Frame. Nun möchte ich aber auch gleichzeitig den Header-Frame ändern.

Bevor ich nun gleich beschimpft werde mit "Ließ mal die FAQ", "Kauf Dir ein Buch und nerv uns nicht", etc., bitte den rest noch lesen.

Ich kenne das "ZweiFrames-Script" und habe so auch schon eigene Menüs gebastelt, die funktioniert haben. Leider funktionierten die nicht in allen Browsern. Ich schaffe es nicht, das Anzeigen von zwei Frames gleichzeitig in das "SlideMenu2" einzubauen.

Vielleicht kann mir jemand helfen???

Die Frames werden in der Datei http://www.wendesse-handball.de/test/index.html definiert
Der Aufruf müßte in der Datei slidemenu.js (Zeile 279?) passieren. Ich übergebe in der left_defaultmasterborder.html Link1, Target1, Link2 und Target2 an das Script. in der Zeile 279 von slidemenu.js wird der Aufruf von "a href=..." zusammengebastelt. Kann man die Anzeige des zweiten Frames in die onclick-Anweisung der gleichen Zeile einbauen? Klappt bei mir irgendwie nicht. Wenn ich da etwas ändere, wird das Menü nicht mehr angezeigt. Ich vermute mal, das liegt an falsch gesetzten Hochkommas, oder sowas.

Wäre für einen Tipp super dankbar!!!
(Die dateien liegen alle im Verzeichnis http://www.wendesse-handball.de/test)

Vielen Dank im voraus!

Gruß
Micha

  1. Hi !

    Am einfachsten wäre es doch Du würdest Thomas Brattli selber fragen,
    ob eine Änderung zweier Frames gleichzeitig mit dem Script überhaupt
    möglich ist !?
    Die Original-js-Datei sieht  -soweit ich das überschauen kann - nämlich nur eine Target-Möglichkeit vor . . .
    Aber egal . . .
    Mir gehen diese DHTML-Menues sowieso auf die Nerven . . .
    Mit HTML-Auswahllisten und JavaScript lassen sich so schöne Dropdowns
    erzeugen mit denen Du sowohl mehrere Frames gleichzeitig ändern, als auch PopUps erzeugen kannst, ohne aufgeblähten Script-Code !
    Muß es denn immer der letzte Schrei sein ??
    Weniger kann ja bekannlich manchmal mehr sein . . . .
    Diese zum Teil hoffnungslos überladenen DHTML-Seiten nerven doch ohne Ende !?
    Flash-Intros und der ganze Scheiß . . .

    N'est-ce pas !?
    :o)
    Ciao !!

    Ps : Wer soll sich denn auf die Schnelle in DEN Script-Code reinwühen !?

    1. Hallo Charlie!

      Danke für Deine Antwort. Es muß ja nicht unbedingt DHTML sein.
      Was ich brauche ist ein einfaches Menü, nur Text, keine bunten Bildchen. Es soll mehrere Menüpunkte geben und beim Anklicken sollen Untermenüpunkte angezeigt werden.
      Und das Wichtigste ist, es sollte in den meisten Browsern vernünftig angezeigt werden!!!
      Kannst Du mir einen Tipp geben, wo ich sowas bekommen kann?

      Aber eigentlich müßte es für einen "Javascript-Profi" doch ein Klacks sein, mir diese Scriptzeile um die Anzeige des zweiten Frames zu ergänzen:

      if(target1) tg1 =' target="'+target1+'" '
        str+='<div class="'+this.txtClass+'"><a href="'+lnk1+'" '+tg1+' onclick="'+this.name+'.switchMenu('+this.curr+'); if(document.getElementById) this.blur(); '
          if(lnk1=="#") str+='return false'
          str+='" class="'+this.l[m.lev].classNameA+'"> '+text+'</a><br /></div>\n'
        str+="</div>\n\n"

      Viele Grüße
      Micha

      Hi !

      Am einfachsten wäre es doch Du würdest Thomas Brattli selber fragen,
      ob eine Änderung zweier Frames gleichzeitig mit dem Script überhaupt
      möglich ist !?
      Die Original-js-Datei sieht  -soweit ich das überschauen kann - nämlich nur eine Target-Möglichkeit vor . . .
      Aber egal . . .
      Mir gehen diese DHTML-Menues sowieso auf die Nerven . . .
      Mit HTML-Auswahllisten und JavaScript lassen sich so schöne Dropdowns
      erzeugen mit denen Du sowohl mehrere Frames gleichzeitig ändern, als auch PopUps erzeugen kannst, ohne aufgeblähten Script-Code !
      Muß es denn immer der letzte Schrei sein ??
      Weniger kann ja bekannlich manchmal mehr sein . . . .
      Diese zum Teil hoffnungslos überladenen DHTML-Seiten nerven doch ohne Ende !?
      Flash-Intros und der ganze Scheiß . . .

      N'est-ce pas !?
      :o)
      Ciao !!

      Ps : Wer soll sich denn auf die Schnelle in DEN Script-Code reinwühen !?

      1. Aber eigentlich müßte es für einen "Javascript-Profi" doch ein Klacks sein, mir diese Scriptzeile um die Anzeige des zweiten Frames zu ergänzen:

        if(target1) tg1 =' target="'+target1+'" '
          str+='<div class="'+this.txtClass+'"><a href="'+lnk1+'" '+tg1+' onclick="'+this.name+'.switchMenu('+this.curr+'); if(document.getElementById) this.blur(); '
            if(lnk1=="#") str+='return false'
            str+='" class="'+this.l[m.lev].classNameA+'"> '+text+'</a><br /></div>\n'
          str+="</div>\n\n"

        Viele Grüße
        Micha

        Ha, ha !!
        Scherzkeks !!

        Das gibst Du in die HTML-Seite mit dem Menue ein :
        function Open(a)
        {
        parent.frames[0].location.href=a;  // Frame 0
        parent.frames[2].location.href=a;  // Frame 2
        }

        Dein Menue richtest Du ein wie folgt :

        slideMenu.makeMenu('top','Scripts','javascript:Open('ABC.html','XYZ.html')')

        usw, usw . . .
        Jetzt aber ab in die Heia !!
        :o)))

        1. Ooops !!
          Kleiner Faux pas . . .

          Muß natürlich heißen :

          function Open(a,b)
          {
          parent.frames[0].location.href=a;
          parent.frames[2].location.href=b;
          }

          1. Super!!!

            Vielen Dank, Du hast mir sehr geholfen!

            Viele Grüße
            Micha

            Ooops !!
            Kleiner Faux pas . . .

            Muß natürlich heißen :

            function Open(a,b)
            {
            parent.frames[0].location.href=a;
            parent.frames[2].location.href=b;
            }