Alexander Gordt: Hover-Schaltflächen - Komatibel für MSIE 4 und NS?

Hi Leute!

Ich habe folgendes Problem: Ich möchte einen Frame mit untereinanderstehenden Links versehen, die nicht aus bloßem Text bestehen. Ich möchte aber keine Bildchen verwenden, da mir das die Geschwindigkeit zu stark runterzieht. Jetzt habe ich gehofft mit Hover-Schaltflächen den Stein der Weisen gefunden zu haben, doch die fertigen Applets aus dem Frontpage 98 funktionieren malwieder nur beim IE :-( . Kann mir jemand einen Tip geben, wie ich eine Hoverschaltfläche z.B.  mit einer mini Tabelle und sich veränderndem Hintergrund umgehen kann, oder gibt es sonst noch andere Möglichkeiten, einen Link ohne Bilder schlecht  kompatiblem Java zu realisieren?

Gruß Alex!

  1. Hallo Alexander,

    Jetzt habe ich gehofft mit Hover-Schaltflächen den Stein der Weisen gefunden zu haben, doch die fertigen Applets aus dem Frontpage 98 funktionieren malwieder nur beim IE :-(

    Die CSS-Angabe hover ist nur dem MS IE 4 bekannt, no way
    bei Netscape.
    Eventuell liesse sich etwas machen, wenn Du jeden Link in einen <layer>/<div> steckst und dann bei onmpouseover/onmouseout dessen Hintergrundfarbe wechselst. Das muesste sowohl mit Netscape 4 als auch mit MS IE 4 gehen, erfordert aber wieder dieses bloede Doppeltkodieren in Sachen Dynamic HTML.

    Viele Gruesse
      Stefan Muenz

    1. Hi Stefan!

      Eventuell liesse sich etwas machen, wenn Du jeden Link in einen <layer>/<div> steckst und dann bei onmpouseover/onmouseout dessen Hintergrundfarbe wechselst.

      Der Tip war ja schon ganz gut und kann ich kann vorstellen was Du meinst, doch ich habe nicht den blassen Schimmer, wie das funktionieren soll. Ich habe trotzdem mal rumprobiert und dabei ist folgendes herausgekommen:

      <html>
      <head><script LANGUAGE="JavaScript">
      <!--
      function hover()
      {
      if(document.lay.bgcolor=="ff0000")
      { document.lay.bgcolor="00ff00"; return; }
      else
      { document.lay.bgcolor="0000ff"; return; }
      }
      //-->
      </script>

      <title>hover_test</title>
      </head>

      <body BGCOLOR="#ffffff" link="#00C000" vlink="33CC33">
      <layer name="lay" bgcolor="#ff0000" onmouseover="hover()" top="200" left="50" width="50" height="30">
      </layer>
      </body>
      </html>

      • leider tut sich nicht das geringste, wenn ich mit der Maus über die Fläche fahre. liegt das daran, daß ich mit document.lay.bgcolor nicht den richtigen Syntax für den layer habe oder was ist daran faul? Währe schön wenn Du mir ein Beispiel mailen könntest, das mir das Prinzip zeigt.

      Danke im voraus und viele Grüße, Alexander :-)

      1. Hallo Alexander,

        <layer name="lay" bgcolor="#ff0000" onmouseover="hover()" top="200" left="50" width="50" height="30">

        • leider tut sich nicht das geringste

        Nein, da kann sich nix tun, dazu ist Netscape zu bloede. onmouseover mag er nur bei Verweisen und dergleichen. Du kannst also innerhalb des Layers einen Verweis notieren, der die Funktion anstoesst:

        <layer name="lay" bgcolor="#ff0000" top="200" left="50" width="50" height="30">
        <a href="?????.htm" onmouseover="hover()">...</a>
        </layer>

        Ich hatte es auch so verstanden, dass der Layer nichts anderes als den Verweis enthaelt. Wenn's mitten im Text ist, musst Du in HTML <ilayer> benutzen.
        Und an onmouseout solltest Du auch noch denken...
        Und an den MS IE <g>

        Viele Gruesse
          Stefan Muenz

        1. Hi Stefan!

          Ich glaube ich werde noch verrückt mit diesem verdammten Java. Jetzt habe ich zwar in Deinem Selfhtml
          ein Beispiel gefunden(tecbbf.htm), in dem das umwandeln des Layerhintergrunds beschrieben wird, doch auch da ist es so, daß das ganze nur im NS zu keiner Fehlermeldung führt (was, wie angekündigt, noch nicht heißt, daß sich die Farbe auch ändert) ;-). Im IE 4.01 SP führt es außerdem zu der Fehlermeldung, daß document.TestLayer.bgColor kein Object sei. Da bin ich nun relativ ratlos, denn wenn die Objectbezeichnung nicht stimmt, dann kann auch der Rest nicht klappen. Vielleicht weißt Du ja inzwischen eine Lösung die funktioniert, sonst versuche ich mal, ob ich über irgendwo ein Java-Forum finde, bei dem jemand einen einfall hat.

          Viele Grüße,  Alex