Cycs: Denkfehler ?!

Hallo, vielleicht könnt ihr mir helfen.

Ich muß irgendwo 'nen Denkfehler haben, ich poste mal das Script,
um das es geht:

<script language="JavaScript">
<!--

window.onerror = null;
var netscape = 0;
var goodIE = 0;
browserName = navigator.appName.substring(0,8);
browserVer = parseFloat(navigator.appVersion);
  if (browserName == "Netscape" && browserVer >= 3)
  { netscape = 1; }
  if (browserName == "Microsoft" && browserVer >= 4)
  { goodIE = 1; }

if (netscape goodIE)
  {
   names = new Array(  "pic-mitte-gam" , "pic-mitte-hg" , "pic-mitte-th" , "pic-mitte" );
   buttons = new Array(6);
    for (m=0; m<=6; m++)
    { buttons[m] = new Image(); }
      buttons[0].src = "pic-mitte-gam1.jpg";
      buttons[1].src = "pic-mitte-hg1.jpg";
      buttons[2].src = "pic-mitte-th1.jpg";
      buttons[3].src = "pic-mitte-gam2.jpg";
      buttons[4].src = "pic-mitte-hg2.jpg";
      buttons[5].src = "pic-mitte-th2.jpg";
      buttons[6].src = "pic-mitte.jpg";
    }

function swap(des,num)
   {
    if (netscape goodIE)
    {
     document.images[names[des]].src = buttons[num].src;  
    }
   }

//-->
</script>

... zur Erklärung:
Das soll eigentlich ein ganz einfaches Rollover-Script sein *g*.
Der fette Kopf wegen der Browserkompatibiliät!
Die pic-files sind definiert - als "buttons" eben, jeweils mit dem
zustand 1=mouseout und 2=mouseover - button6 ist das zielpic, da der
standort der buttons NICHT GLEICH dem standort des (bei rollover
angezeigten) bildes ist. <-- dies ist ein Beschreibungs-file zum jeweiligen pic.

eingebungen im body habe ich folgendes:

<a href="" onmouseover="swap(0,3)" onmouseout="swap(0,0)">
<img src="pic-mitte-gam1.jpg" width="199" height="227">
</a>

--> für das erste pic ... und dann immer so weiter.

Das Dumme ist nun - der Effekt bleibt aus! Die Links klappen zwar
aber nich der Rollovereffekt. Deshalb hab ich wohl irgendwas vermatscht, naja ... vielleicht findets ja jemand ;-)

Danke schonmal,

Cycs

  1. Hi,

    »»    function swap(des,num)
    »»    {
    »»     if (netscape goodIE)
    »»     {
    »»      document.images[names[des]].src = buttons[num].src;  
    »»     }

    kann es sein, daß der Fehler hier liegt? window.images verlangt doch
    eine Nr. als Indiz? Also vielleicht besser

    document.names[des].src = buttons[num].src;

    Allerdings müßte dann das Bild mit

    NAME = "name" erweitert werden. Alternativ könnte man das ganze
    mit den "names" auch weglassen und

    document.images[des].src = buttons[num].src;

    schreiben? *g*

    mfg
    CK1

  2. Hi,

    ich bin der Meinung mit der script-Erweiterung ";return true" und dem Einfügen von "name=pic-mitte-gam" im img-Tag müßte die Sache funktionieren.

    Der korrekte Code für den Aufruf des Scriptes würde also wie folgt lauten:

    <a href="" onmouseover="swap(0,3);return true" onmouseout="swap(0,0);return true">
    <img src="pic-mitte-gam1.jpg" width="199" height="227" name="pic-mitte-gam">

    Bei den folgenden Bildern müßtes Du dann unter "name=..." den jeweilig entsprechenden Namen aus dem Array "names" einfügen.

    Viel Erfolg
    Micha

  3. ... jup, danke euch beiden !!

    <hab mich für michas variante entschieden, ck: deine ging nich>

    ciao cycs