Violett: spezielle doppelbildwechselfunktion mit dreamweaver

Hallo allerseits,

nun gibts ja schon 'ne Menge Beiträge zum Thema JavaScript und Mouseover. Deshalb verbrachte ich auch schon 'ne halbe Stunde in den 780 Beiträgen.
Allerdings gehts dort meist um Detailfragen. Und da ich mich zu meiner Schande jetzt mal als JavaScript-Newbee outen muß poste ich
der Einfachheit halber mal mein Problem.

Also, ich hab mir Dreamweaver3 ja nun gekauft, um es u.a. einfacher
zu haben. Nun produziert DW aber bei jeder Mouseoversache, die ich mit dem Programm erstelle so einen riesigen Scripthaufen im Head.
Ich kann mir zwar nun immerhin da rauslesen, daß es sich im zweiten Teil ums Vorladen der Bilder handeln könnte, das wars aber auch schon.

Mein Problem: ich möchte zwei Bilder gleichzeitig wechseln, beim ONMOUSEOVER und zwar das "berührte" und ein anderes Bild.
Normalerweise könnt ich dafür diverse Hilfestellungen aus dem Archiv nehmen, da ich das ganze aber ganz gern in den Dreamweaver-Code integriert hätte
wird das ganze schon etwas komplizierter. Jedenfalls bringt der mir immer Fehler ... egal welcher Browser. Ich seh da also nich ganz durch.

Folgend mal den Code, den Dreamweaver bei einer JavaScript-Rollover-Funktion generiert und in den Head pflanzt:
------------
<script language="JavaScript">
<!--
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>
-------------
Der Aufruf im body erfolgt dann mit:

<a href="site.htm" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image12','','buttons/main-pic2.jpg',1)" target="main"><img name="Image12" border="0" src="buttons/main-pic1.jpg"></a>

<img src="buttons/anderes-pic.jpg">
--------------
"site.htm" ist in diesem Fall mal der Referenzlink, "main-pic1.jpg" und "main-pic2.jpg" ist jeweils der Berührungsbutton und "anderes-pic.jpg" das "andere" bild, was mit gewechselt werden soll.

sooo, das war hoffentlich nich zuviel ;o)
aber laßt mich nich dumm sterben *g*

danke schonmal ... violett

  1. Nachtrag:

    ... ich vergaß wohl zu erwähnen, daß es sich beim geposteten code, um den originalcode handelt - also ohne meinen fehlern ;)

    vi

  2. Hallo Violett,

    hier ne gut Adresse für alles rund um Dreamweaver:
    http://www.dreamworker.de
    schau Dich auch dort mal um vielleicht findet sich ja ne Lösung.

    Viele Grüße
    Bernd

    1. Hallo Violett,

      hier ne gut Adresse für alles rund um Dreamweaver:
      http://www.dreamworker.de
      schau Dich auch dort mal um vielleicht findet sich ja ne Lösung.

      Viele Grüße
      Bernd

      danke ;)

  3. Hallo,

    die Lösung ist ganz ganz einfach:

    zuerst fügst Du mittels DW ein Rollover-Bild (Bild 1) ein. Dann hast Du im Inspektor-Fenster "Behaviors",
    wenn du das entsprechende Bild 1 anklickst, für "OnMouseOver" eine "Action" namens "Swap Image".

    Da doppelklicken drauf, dann kriegst Du ein Fenster aufgepoppt. Im Feld "Fenster" kannst du jetzt
    JEDES Bild anklicken und dafür ein Wechselbild angeben.

    Klick hier auf den Namen des anderen Bild (Bild 2), dann kannst Du im
    Feld "Set Source To" für das Bild ebenfalls eine Bild angeben, was bei OnMouseOver von Bild 1
    angezeigt wird.

    ---

    Noch mal:
    1. Bild 1 als Rollover-Image einfügen
    2. Bild 2 einfügen
    2. Bild 1 anklicken
    3. im Behaviors-Inspektor auf SwapImage doppelklicken
    4. im neuen Fenster im Feld "Fenster" nach Bild 2 suchen
    5. für Bild 2 im Feld "Set Source to" Wechsel-Datei für Bild 2 angeben.
    6. OK Klicken

    Ach ja, und NICHTS bei Swap Images Restore rumpfuschen. Das macht der DW automatisch richtig.
    Ich hoffe, du verstehst aus meinen Worten die richtigen Vorgehensweise und es hilft dir weiter.

    ---

    Zur Sicherheit noch mal der Code:

    onMouseOver="MM_swapImage('NameBild1','','Bild1','NameBild2','','Bild2',1);

    ---

    mfg, Thomas Mock.