Andre Müller: Dynamische Buttons - Probs mit Netscape

Ich habe ein Menu in dem ich die einzellnen Ellemente aus Designgründen Pixelgenau positionieren muss. Unter Netscape sind die Button dann aber nicht mehr Dynamisch, weil OnMouseOver Event nicht eintritt wenn man mit der Maus drüber geht. Aber warum?

Hier der Code:

<html>
  <head>
    <style type="text/css">
    <!--
      .hed { position:absolute; top:2px; left:0px;}
      .menu1  { position:absolute; top:14px; left:18px;}
      .menu2  { position:absolute; top:78px; left:18px;}
      .menu3  { position:absolute; top:134px; left:18px;}
      .menu4  { position:absolute; top:206px; left:18px;}
      .menu5  { position:absolute; top:270px; left:18px;}
      .menu6  { position:absolute; top:334px; left:18px;}
      .menu7  { position:absolute; top:395px; left:50px; font-size:10px; color:#7B9BB4;}
    //-->
    </style>
      <script language="JavaScript">
      <!--

stat();

Normal1 = new Image();
        Normal1.src = "home1.jpg";
        Highlight1 = new Image();
        Highlight1.src = "home2.jpg";

Normal2 = new Image();
        Normal2.src = "pt81.jpg";
        Highlight2 = new Image();
        Highlight2.src = "pt82.jpg";

Normal3 = new Image();
        Normal3.src = "profil1.jpg";
        Highlight3 = new Image();
        Highlight3.src = "profil2.jpg";

Normal4 = new Image();
        Normal4.src = "projekte1.jpg";
        Highlight4 = new Image();
        Highlight4.src = "projekte2.jpg";

Normal5 = new Image();
        Normal5.src = "kontakt1.jpg";
        Highlight5 = new Image();
        Highlight5.src = "kontakt2.jpg";

Normal6 = new Image();
        Normal6.src = "links1.jpg";
        Highlight6 = new Image();
        Highlight6.src = "links2.jpg";

function stat ()
        {
        status="NESTECS - PrjektTeam 8 - Simply the Best";
        setTimeout("stat()",1);
        }

function Bildwechsel(Bildnr,Bildobjekt)
        {
          window.document.images[Bildnr].src = Bildobjekt.src;
        }
 //-->
  //-->
 </script>
  </head>
  <body background="bg1.jpg" text="#36BEA3" onLoad="status='NESTECS - PrjektTeam 8 - Simply the Best'" link="#36BEA3" alink="#36BEA3" vlink="#36BEA3">
    <table cellspacing="0" width="100%" height="100%">
      <tr valign="top" class="hed"><td><img src="menu.jpg"></td></tr>
      <tr valign="top" class="menu1"><a href="home.htm" target="main"><td onMouseOver="Bildwechsel(1,Highlight1)" onMouseOut="Bildwechsel(1,Normal1)"><img border="0" src="home1.jpg"></td></a></tr>
      <tr valign="top" class="menu2"><a href="pt8.htm" target="main"><td onMouseOver="Bildwechsel(2,Highlight2)" onMouseOut="Bildwechsel(2,Normal2)"><img border="0" src="pt81.jpg"></td></a></tr>
      <tr valign="top" class="menu3"><a href="profil.htm" target="main"><td onMouseOver="Bildwechsel(3,Highlight3)" onMouseOut="Bildwechsel(3,Normal3)"><img border="0" src="profil1.jpg"></td></a></tr>
      <tr valign="top" class="menu4"><a href="projekte.htm" target="main"><td onMouseOver="Bildwechsel(4,Highlight4)" onMouseOut="Bildwechsel(4,Normal4)"><img border="0" src="projekte1.jpg"></td></a></tr>
      <tr valign="top" class="menu5"><a href="kontakt.htm" target="main"><td onMouseOver="Bildwechsel(5,Highlight5)" onMouseOut="Bildwechsel(5,Normal5)"><img border="0" src="kontakt1.jpg"></td></a></tr>
      <tr valign="top" class="menu6"><a href="links.htm" target="main"><td onMouseOver="Bildwechsel(6,Highlight6)" onMouseOut="Bildwechsel(6,Normal6)"><img border="0" src="links1.jpg"></td></a></tr>
      <tr valign="top" class="menu7"><a href="JavaScript:alert('©Copyright 2001 by PT 8')" target="main"><td>©2001 by PT 8</td></a></tr>
    </table>
   </body>
</html>

THX im Vorraus

Andre M.

  1. Hallo!

    Aber warum?

    Weil zum ersten onmousover und -out in das <a> gehören und dieses wiederum in das <td> hineingehört. also:

    [...]
    <tr valign="top" class="menu1">
      <td>
        <a href="home.htm" target="main" onMouseOver="Bildwechsel(1,Highlight1)" onMouseOut="Bildwechsel(1,Normal1)"><img border="0"  src="home1.jpg"></a>
      </td>
    </tr>
    [...]

    Gruß Markus

    1. Morgen,

      ich habe jetzt umgeschrieben in

      (...)
      <tr valign="top" class="menu1">
       <td>
        <a href="home.htm" target="main" onMouseOver="Bildwechsel(1,Highlight1)"
      onMouseOut="Bildwechsel(1,Normal1)"><img border="0" src="home1.jpg"></a>
       </td>
      </tr>

      Aber es funktioniert immer noch nicht!!!

      :(((

      1. Hallo!

        Nimm die Klassen .menu* raus, Du kannst einzelne Tabellenzellen nicht mit CSS positionieren, sie sind also wirkungslos und stötren evtl. den NC.

        Gruß Markus

  2. 'Morgen Andre

    <tr valign="top" class="menu1"><a href="home.htm" target="main"><td onMouseOver="Bildwechsel(1,Highlight1)" onMouseOut="Bildwechsel(1,Normal1)"><img border="0" src="home1.jpg"></td></a></tr>

    Ich glaube nicht, daß Du ein Problem mit Netscape hast, sondern Du hast ein Problem mit sauberem Code. Selbstverständlich kannst Du NICHT eine ganze Tabellenzelle als Link verwursten. Auch ein <td onmouseover=...> dürfte sich außerhalb der Netscapelegalität befinden.

    grüße
    axel

  3. Ich habe ein Menu in dem ich die einzellnen Ellemente aus Designgründen Pixelgenau positionieren muss. Unter Netscape sind die Button dann aber nicht mehr Dynamisch, weil OnMouseOver Event nicht eintritt wenn man mit der Maus drüber geht. Aber warum?

    Absolute positionierte Tabellenzeilen, Zellen als Linktext, unsauberer Quellcode, unfähig die FAQ http://www.teamone.de/selfaktuell/forum/faq/forumsfaq_4.htm#a10 zu lesen.
    Kein Wunder dass das nicht geht.

    Dem Quelltext nach zu urteilen scheint es sich um eine Auftragsarbeit zu handeln. In diesem Fall solltest du unbedingt noch diese Abschnitte lesen:
    http://www.teamone.de/selfhtml/taa.htm#a11
    http://www.teamone.de/selfhtml/tbdc.htm#a3

    Viele Grüße

    Antje