Unsterblich: firefox: onmouseout wird bei allen Bildern ausgelöst

folgendes Javaskript, bei dem der Fehler auftritt:

<script type="text/javascript">
<!--
  oldset = 1;
  iabutton = new Image();
  iabutton.src = "images/buttons/buttonanaus.gif";
  clbutton = new Image();
  clbutton.src = "images/buttons/buttonausan.gif";
  ringlan = new Image();
  ringlan.src = "images/buttons/ringlinksan.gif";
  ringlaus = new Image();
  ringlaus.src = "images/buttons/ringlinksaus.gif";
  ringran = new Image();
  ringran.src = "images/buttons/ringrechtsan.gif";
  ringraus = new Image();
  ringraus.src = "images/buttons/ringrechtsaus.gif";

function bildwechsel(bildnr, bildobj)
  {
    window.document.images[bildnr].src = bildobj.src;
  }

function bildwechsel2(bildnr)
  {
    window.document.images[oldset-1].src = ringlaus.src;
    window.document.images[oldset+1].src = ringraus.src;
    window.document.images[bildnr-1].src = ringlan.src;
    window.document.images[bildnr+1].src = ringran.src;
    oldset = bildnr;
  }
//-->
</script>

Der Aufruf erfolgt nun von mehreren zusammengebastelten Buttons marke

<div class="main" style="top:0px;left:27px;width:130;">
  <a href="frameset.php" target="_top" style="text-decoration:none"
      onmouseover="bildwechsel(1,clbutton)" onmouseout="bildwechsel
      (1,iabutton)" >
    <img alt="nurnenring" border="0" src="images/buttons/ringlinksan.gif">
    <img alt="Home" border="0"src="images/buttons/buttonaus.gif">
    <img alt="nurnenring" border="0" src="images/buttons/ringrechtsan.gif">
    <span class="text" style="top:8px;left:0px;width:130;">Home</span>
  </a>
</div>

ich habe die CSS (absolute Positionen und so) und den ganzen Kram drumherum mal weggelassen. Ihr würdet Euch vermutlich eh nur drüber aufregen! :-)

Unter dem IE funktioniert das alles perfekt! Unter Firefox besteht nun aber das Problem, daß das onmouseout-Ereignis des <a>-Tags für alle Buttons ausgeführt wird. Kann mir da jemand was zu sagen? Wenn jemand die Möglichkeit hat, ne php-Seite zu hosten, so kann ich die Seite demjenigen gerne mal zuschicken, damit Ihr Euch das auch mal in Farbe anschauen könnt.

  1. Tag.

    folgendes Javaskript, bei dem der Fehler auftritt:
    [...]
    Unter dem IE funktioniert das alles perfekt! Unter Firefox besteht nun aber das Problem, daß das onmouseout-Ereignis des <a>-Tags für alle Buttons ausgeführt wird. Kann mir da jemand was zu sagen?

    Aber sicher doch: quirksmode.org. Weiterhin empfehlenswert in diesem Zusammenhang Gecko DOM-Referenz: addEventListener.

    [dsf 3.6]
    Siechfred

    --
    »Sie kochten heimlich mit Wasser und tranken öffentlich Wein.«
    1. Das ist schon klar. Vielleicht hab ich mich etwas schlecht ausgedrückt. Mal etwas genauer zu den "Buttons":

      <!-- Button 1  -->

      <div class="main" style="top:0px;left:27px;width:130;">
        <a href="frameset.php" target="_top" style="text-decoration:none"
            onmouseover="bildwechsel(1,clbutton)" onmouseout="bildwechsel
            (1,iabutton)" >
          <img alt="nurnenring" border="0" src="images/buttons/ringlinksan.gif">
          <img alt="Home" border="0"src="images/buttons/buttonaus.gif">
          <img alt="nurnenring" border="0" src="images/buttons/ringrechtsan.gif">
          <span class="text" style="top:8px;left:0px;width:130;">Home</span>
        </a>
      </div>

      <!-- Button 2  -->

      <div class="main" style="top:40px;left:27px;width:130;">
        <a href="frameset.php" target="_top" style="text-decoration:none"
            onmouseover="bildwechsel(4,clbutton)" onmouseout="bildwechsel
            (4,iabutton)" >
          <img alt="nurnenring" border="0" src="images/buttons/ringlinksan.gif">
          <img alt="Home" border="0"src="images/buttons/buttonaus.gif">
          <img alt="nurnenring" border="0" src="images/buttons/ringrechtsan.gif">
          <span class="text" style="top:8px;left:0px;width:130;">Home</span>
        </a>
      </div>

      <!-- Button 3  -->

      <div class="main" style="top:80px;left:27px;width:130;">
        <a href="frameset.php" target="_top" style="text-decoration:none"
            onmouseover="bildwechsel(7,clbutton)" onmouseout="bildwechsel
            (7,iabutton)" >
          <img alt="nurnenring" border="0" src="images/buttons/ringlinksan.gif">
          <img alt="Home" border="0"src="images/buttons/buttonaus.gif">
          <img alt="nurnenring" border="0" src="images/buttons/ringrechtsan.gif">
          <span class="text" style="top:8px;left:0px;width:130;">Home</span>
        </a>
      </div>

      Stellt Euch nun vor, daß die Buttons jeder für sich aufleuchtet, wenn man mit der Maus auf ihn draufgeht! Das funktioniert sowohl beim IE als auch beim Firefox fast wie es soll. Wenn man jedoch nun den Button mit der Maus wieder verläßt, blenden beim Firefox alle schon einmal vorher verlassenen Buttons aus. Beim IE immer nur der, der wirklich gerade verlassen wird. Wenn Ihr den Frame mal haben wollt, ich schick ihn Euch gerne per Mail! :-)

  2. <a href="frameset.php" target="_top" style="text-decoration:none"
          onmouseover="bildwechsel(1,clbutton)" onmouseout="bildwechsel
          (1,iabutton)" >
        <img alt="nurnenring" border="0" src="images/buttons/ringlinksan.gif">
        <img alt="Home" border="0"src="images/buttons/buttonaus.gif">
        <img alt="nurnenring" border="0" src="images/buttons/ringrechtsan.gif">
        <span class="text" style="top:8px;left:0px;width:130;">Home</span>
      </a>

    Unter dem IE funktioniert das alles perfekt! Unter Firefox besteht nun aber das Problem, daß das onmouseout-Ereignis des <a>-Tags für alle Buttons ausgeführt wird.

    Na, muss es doch! onMouseout() ist ja für alle vier imgs festgelegt, wie ich sehe.

    Herzlich, twb

    1. Tag twb.

      Na, muss es doch! onMouseout() ist ja für alle vier imgs festgelegt, wie ich sehe.

      Ähm, ich hatte U. so verstanden, dass onclick nicht nur auf das geklickte a wirkt, sondern auch auf die anderen a-Elemente, die nicht geklickt wurden.

      Siechfred

      --
      »Sie kochten heimlich mit Wasser und tranken öffentlich Wein.«
      1. Tag twb.

        Hi Siechfred!

        Ähm, ich hatte U. so verstanden, dass onclick nicht nur auf das geklickte a wirkt, sondern auch auf die anderen a-Elemente, die nicht geklickt wurden.

        onclick? Dann liegt ja gleich ein mehrfaches Missverständnis vor - im OP steht, dass onmouseout für alle vier imgs eintritt. Jaja, und wieder keine Problem-URL --> nächtlicher Blindflug in Flieger ohne Fenster durch den Alpennebel... ;-)))
        Herzlich, twb

        1. Tag twb.

          Ähm, ich hatte U. so verstanden, dass onclick nicht nur auf das geklickte a wirkt, sondern auch auf die anderen a-Elemente, die nicht geklickt wurden.
          onclick? Dann liegt ja gleich ein mehrfaches Missverständnis vor - im OP steht, dass onmouseout für alle vier imgs eintritt. Jaja, und wieder keine Problem-URL --> nächtlicher Blindflug in Flieger ohne Fenster durch den Alpennebel... ;-)))

          Eieiei, ich werde alt :)

          Gute Nacht!
          Siechfred

          --
          »Sie kochten heimlich mit Wasser und tranken öffentlich Wein.«
          1. Eieiei, ich werde alt :)

            Nein. Das ist der Gang der Dinge. Man nennt es Evolution.

            ;-))) twb

            1. Ich hab mir nur nen WAMP lokal eingerichtet, nen Server kommt erst, wenn alles halbwegs fertig ist! Nochmal: das ist nur ein Button als Beispiel! Ich habe davon ne Reihe mehr. Egal bei welchem davon das Ereignis ausgelöst wird, bei ALLEN BUTTONS wird das entsprechende Image ausgelöst! Dummerweise sind das animated-Gifs, so daß alle Buttons "ausgeblendet" werden.