provl: mehrere aktionen auf onClick?

hi.
folgendes problemchen macht mir derzeit zu schaffe (java-anfänger):

und zwar möcht ich mit nem link zwei frames ändern. dazu hab ich mir in selfhtml das js dazu herausgesucht. funktioniert. dieses js müsste ich jedoch mit einem weiteren js kombinieren. bei mir sieht das dann so aus

<a href="m.medien.html" target=mitte onMouseOut="MM_nbGroup('out');" onMouseOver="MM_nbGroup('over','medien','indexmenu/index_14.gif',1);" onClick="MM_nbGroup('down','indexdateien/index_14.gif',1); FrameAendern('r.medien.html', 'rechts')">

leider wird das FrameAendern-script nicht beachtet...
wie kann ich das ändern?

gruß

  1. Hallo provl!

    Wie wär's wenn Du die Funktionalität von "FrameAendern" innerhalb von "MM_nbGroup" einbaust. Dann klappt das auch. Natürlich solltest Du Dir im klaren sein, dass die Dreamweaver gelieferte Funktion dann natürlich immer auch den Frame aufruft. Das könntest Du ja noch von einer boolean Variable abhängig machen.

    Schönen Gruß

    1. Hi!

      andererseits wäre es auch eine Überlegung wert, die Seite ohne Frames zu machen. Ich persönlich finde Dreamweaver für Frames zu schade - und Seiten mit Frames sind auf die Dauer auch keine gute Lösung (ich spreche aus Erfahrung).

      ciao,
      xjs

      --
      linux is like a wigwam: no windows, no gates and an apache inside!
      Selfcode: sh:( fo:| ch:| rl:° br:> n4:| ie:{ mo:} va:) de:> zu:) fl:) ss:{ ls:& js:|
      1. @ xjs:
        also ohne frames möcht ich nicht arbeiten. die seite hab ich auch im editor, nicht im dreamweaver gemacht. nur die js-zeilen hab ich mir von nem fremden quelltext "geklaut".

        @ afra:
        wie würde das dann aussehen? - wie gesagt. mit js hab ich noch nie gearbeitet.... hier mal die quelle meiner js-datei:

        function MM_findObj(n, d) { //v4.01
          var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
            d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
          if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
          for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
          if(!x && d.getElementById) x=d.getElementById(n); return x;
        }

        function MM_nbGroup(event, grpName) { //v6.0
          var i,img,nbArr,args=MM_nbGroup.arguments;
          if (event == "init" && args.length > 2) {
            if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
              img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
              if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
              nbArr[nbArr.length] = img;
              for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
                if (!img.MM_up) img.MM_up = img.src;
                img.src = img.MM_dn = args[i+1];
                nbArr[nbArr.length] = img;
            } }
          } else if (event == "over") {
            document.MM_nbOver = nbArr = new Array();
            for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
              if (!img.MM_up) img.MM_up = img.src;
              img.src = (img.MM_dn && args[i+2]) ? args[i+2] : ((args[i+1])? args[i+1] : img.MM_up);
              nbArr[nbArr.length] = img;
            }
          } else if (event == "out" ) {
            for (i=0; i < document.MM_nbOver.length; i++) {
              img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
          } else if (event == "down") {
            nbArr = document[grpName];
            if (nbArr)
              for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
            document[grpName] = nbArr = new Array();
            for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
              if (!img.MM_up) img.MM_up = img.src;
              img.src = img.MM_dn = (args[i+1])? args[i+1] : img.MM_up;
              nbArr[nbArr.length] = img;
          } }
        }

        function FrameAendern (URI, Framename) {
          parent[Framename].location.href = URI;
        }

        1. wie soll ich nun dieses frameaendern mit einbauen?

          gruß

        2. Hallo provl!

          Etwas Eigeninitiative bedarf es schon...

          function MM_nbGroup(event, grpName, URI, Framename) {
              (...)

          parent[Framename].location.href = URI;

          }

          Wie gesagt, das Problem besteht jetzt darin, dass nun IMMER der Frame geändert werden will. Aber dazu habe ich Dir ja auch schon eine Lösungsmöglichkeit im OP beschrieben.

          Schönen Gruß

          Afra

          1. also diverses herumversuchen hat leider nichts ergeben.
            die beste lösung war, als ich das js genau so abgeändert hab, als afra beschrieb.
            mit dem resultat, dass der zweite frame nicht auf onclick geöffnet wurde.
            es wurde jedoch der mouseover grafik-wechsel nun in diesem frame ausgeführt.

            vermutlich hab ich irgendwas vertauscht. leider hab ich von js absolut keine ahnung und kann dieses problem nicht selber lösen.

            gruß