Martin Busley: Animierte Buttons funktionieren mit Netscape nicht

Hallo Forumsbesucher,

ich hab da ein kleines JavaScript Problem:
Nach der SELFHTML-Anleitung hab ich einen animierten Button erzeugt, mit zusätzlichen Event-Handler, um flache Schaltflächen zu simulieren. Im IE 5 funktioniert das auch alles wunderbar, aber Netcape in der Version 4.7 interpretiert plötzlich "onmouseover" & "onmoueseout" nicht mehr. Der Quelltext sieht so aus:

<html>
<head>
<title>Button</title>
<script language="JavaScript" type="text/javascript" >
a=new Image();
a.src="1.gif";
b=new Image();
b.src="2.gif";
c=new Image();
c.src="3.gif";
function button(d, e) {
window.document.images[d].src = e.src; }</script>
</head>
<body text="#000000" bgcolor="#ff0000" link="#000000" alink="#0000ff" vlink="#0000ff">
<img src="1.gif" width="98" height="24" border="0" alt="Schließen" onmouseover="button(0,b)" onmouseout="button(0,a)" onmousedown="button(0,c)" onmouseup="button(0,b)">
</body>
</html>

Das Beispiel steht unter http://www.busley.purespace.de/button.htm zum Testen bereit. Weiß jemand wo der Fehler liegt. Danke!

Viele Grüße,

Martin Busley

  1. Achtung, die richtige URL lautet: [http://www.mbusley.purespace.de/button.htm]

    Tut mir leid.

    Martin Busley

  2. Achtung, die richtige URL lautet: [http://www.mbusley.purespace.de]

    Tut mir leid.

    Martin Busley

  3. Hi Martin
    Leider Interpretiert Netscape onmouseover/out usw. nur in ganz wenigen ausgewaehlten Tags:
    <a ... > und <area....> siehe z.B. <../../tebj.htm#a18>
    Ansonsten ist der Quelltext in Ordnung.
    viele Gruesse
    Holger

    1. Hallo Holger,

      Leider Interpretiert Netscape onmouseover/out usw. nur in ganz wenigen ausgewaehlten Tags:
      <a ... > und <area....>

      und warum funktionieren die animierten Button in SELFHTML dann mit Netscape? Da wird "onmouseover" im <img>-Tag verwendet.

      Martin Busley

      1. n'abend Martin!

        und warum funktionieren die animierten Button in SELFHTML dann mit Netscape? Da wird "onmouseover" im <img>-Tag verwendet.

        ... werden sie nicht, schau Dir das beispiel bitte noch einmal genau an:

        <../../tedg.htm>

        viel erfolg und viele gruesse

        +markus+

        1. Hallo Markus

          ... werden sie nicht, schau Dir das beispiel bitte noch einmal genau an:

          Also heut ist echt nicht mein Tag! Warum hab ich das nur übersehen? Danke, dass du mich darauf gebracht hast. Da muss ich jetzt wohl dem Netscape mit <layer> helfen.

          Viele Grüße

          Martin Busley

  4. Hi Martin.
    Mit dem Event-Modell von Netscape kannst Du Dir fuer Dein Beispiel Layers ersparen.
    Anbei ein kleiner workaround fuer Netscape:

    <html>
    <head>
    <title>Button</title>
    <script language="JavaScript1.2">
    a=new Image();
    a.src="1.gif";
    b=new Image();
    b.src="2.gif";
    c=new Image();
    c.src="3.gif";
    function button(d, e) {
    window.document.images[d].src = e.src; }
    function buttonNS(Event)
    {if(Event.target.name){
      if(Event.target.name=='Button1'){
       if(Event.type=='mouseover') Event.target.src=b.src
       if(Event.type=='mouseout') Event.target.src=a.src
       if(Event.type=='mousedown') Event.target.src=c.src
       if(Event.type=='mouseup') Event.target.src=b.src
       }}}
    if(document.layers)
    {document.captureEvents(Event.MOUSEOVEREvent.MOUSEDOWNEvent.MOUSEOUTEvent.MOUSEUP)
    document.onmousedown=buttonNS;document.onmouseout=buttonNS;
    document.onmouseup=buttonNS;document.onmouseover=buttonNS}
    </script>
    </head>
    <body text="#000000" bgcolor="#ffffff" link="#000000" alink="#0000ff" vlink="#0000ff">
    <img src="1.gif" name="Button1" width="98" height="24" border="0" alt="Schließen" onmouseover="button(0,b)"
    onmouseout="button(0,a)" onmousedown="button(0,c)" onmouseup="button(0,b)">
    </body>
    </html>

    Liebe Gruesse, Til.