Jan: Zwei Frames ändern + Rollover

Hallo !

Kleines Problem eines JavaScript Versagers:

Ich habe eine Rollover-Grafik. Durch anklicken,
sollen zwei Frames gleichzeitig geändert werden.

Wie kann ich diese beiden Sachen zusammenbringen ?

jan

  1. Hallo!

    Das ist doch alles nicht schwierig. Beide Scripts (Rollover und 2Frames ändern) findest in SelfHTML.
    Die Rollover-Funktion wird mit onmouseover aktiviert und die 2Frames-Funktion als Link ausgeführt, also mit HREF.

    Gruß, Jan

    1. Hallo !

      Danke erstmal für deine Antwort !

      Das hab ich probiert. Der Code sieht so aus:

      <html>
      <head>
      <title>Untitled Document</title>
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
      <script language="JavaScript">
      <!--

      function ZweiFrames(URL1,F1,URL2,F2)
           {  
            parent.frames[F1].location.href=URL1;
            parent.frames[F2].location.href=URL2;
           }

      function MM_swapImgRestore() { //v3.0
        var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
      }

      function MM_preloadImages() { //v3.0
        var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
          var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
          if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
      }

      function MM_findObj(n, d) { //v3.0
        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); return x;
      }

      function MM_swapImage() { //v3.0
        var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
         if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
      }
      //-->
      </script>
      </head>

      Und im Body steht dann folgendes:

      <a href="javascript:ZweiFrames('Datei1.htm',Frame1,'Datei2.htm',Frame2)"
               onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Rollover','','pic',1)">
               <img name="Rollover" border="0" src="Pic.gif" width=x height=y></a></td>

      Wo liegt der Fehler

      bis denne
      jan

      1. Hi

        <a href="javascript:ZweiFrames('Datei1.htm',Frame1,'Datei2.htm',Frame2)"
                 onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Rollover','','pic',1)">
                 <img name="Rollover" border="0" src="Pic.gif" width=x height=y></a></td>

        Da sind zwei Fehler drin.
        1. width=x und height=y ist natuerlich mist, weil du Zahlen angeben musst. Die einzige Moeglichkeit Variableninhalte an Bilder zu uebergeben ist, die Bilder mit document.write zu schreiben.
        (Aber vielleicht sollte das ja auch nur ein Beispiel sein)
        2. ZweiFrames('Datei1.htm',Frame1,'Datei2.htm',Frame2)"  uebergibt nicht an die Frames mit den Namen "Frame1
        " und "Frame2" sondern er sucht nach den Variablen Frame1 und Frame2, und ich denke mal, die gibt es bei dir nicht.

        Tschau Holger