kaepten: Ebenen: onMouseOut macht Probleme

Hallo Forumsgemeinde

Ich habe zwei Ebenen übereinander positioniert. Auf der einen Ebene ist der Hintergrund (ein Bild) und auf der anderen Ebene sind Texte (Links). (Die Text-Ebene ist etwas kleiner als die Hintergrundebene) Ich möchte beim verlassen der Hintergrund-Ebene die beiden Ebenen unsichtbar machen. Nun feuert aber das Event onMouseOut der Hintergrund-Ebene auch, wenn ich mit der Maus von der Hintergrund-Ebene auf die Text-Ebene fahre. Kein Problem, mit einer "Erhalten"-Funktione im onMouseOver der Text-Ebene setze ich die onMouseOut funktion der Hintergrund-Ebene ausser Kraft. Leider funktionier das nicht wenn man die Text-Ebene mit der Maus exakt horizontal rechts verlässt! Wenn nämlich mehrere Zeilen mit unterschiedlich langen Texten vorhanden sind, so wechsle ich wenn ich vom Text wegfahre zuerst auf die Text-Ebene und dann auf die Hintergrundebene. Der Umgekehrte Weg ist also: Hintergrund-ebene verlassen (onMousOut feuert) dann komme ich auf die Text-Ebene, aber eben NICHT gleich auf den Text (welcher sofort die Text-Ebene wieder sichtbar gemacht hätte)

Hört sich ziemlich kompliziert an ich weiss. Drum bitte seht euch doch schnell folgenden Link an:

http://www.schumo.ch/kaepten/ebene.htm

dann muss ich auch nicht den Quellcode Posten.

Wer könnte mir einen Tip geben?

Ich habs versucht, nochmals eine Eben zu verwenden die Grösser als der Hintergrund und der Text ist. Somit hätte ich, wenn man mit der Maus über diese Ebene gefahren wäre gewusst, dass jetzt sicher beide Ebenen unsichtbar gemacht werden müssen. Aber wenn man mit der Maus zu flink über die Ebene fährt, dann feuert das Event onMouseOut leider nicht mehr.

  1. Hallo Kaepten

    Nun feuert aber das Event onMouseOut der Hintergrund-Ebene auch, wenn ich mit der Maus von der Hintergrund-Ebene auf die Text-Ebene fahre.

    Dann hast du die beiden Ebenen vermutlich separat definiert, oder? Hast du mal probiert, die Text-Ebene innerhalb der Hintergrundebende in HTML zu definieren, sei es durch verschachtelte <layer>s oder durch verschachtelte <div>s?

    viele Gruesse
      Stefan Muenz

  2. Bei meinen Versuchen habe ich festgestellt, dass der Netscape folgenden Fehler macht:

    Ich erstelle mit <div> eine Ebene (ohne Grössenangaben - nur Position) und plaziere darauf einen Hyperlink.

    Code:

    <div id="ebeneHH" style="position:absolute;top:50;left:100;background-color:red;width:220px;height:300px">
    <a href="javascript:dummy()" onMousOver="do_was()">LinkText</a>
    </div>

    Netscape erzeugt nach dem Link-Text einen kleinen "Freiraum". Man kann das erkennen, da ich die hintergrundfarbe Rot gesetzt habe. Dieser Freiraum macht Probleme, denn er gehört nicht mehr zum Link, sondern zur Ebene. Und der Ebene kann ich leider ja keinen Event zuweisen, soweit ich weiss - und genau das sollte ich können! Nur wie...?

    Stefan:
    Das verschachteln von Ebenen bringt leider in meinem Fall nichts.

    1. Ich hab den falschen Code kopiert, sorry!
      Ich hab ja geschrieben, ohne Grössenangaben:

      <div id="ebeneHH" style="position:absolute;top:50;left:100;background-color:red">
      <a href="javascript:dummy()" onMousOver="do_was()">LinkText</a>
      </div>

  3. Hallo kaept'n,
    vielleicht kannst Du einen vierten Layer darueberlegen, der ein transparentes GIF enthaelt. Nur dieses Gif loest dann die events aus.
    Habs noch nicht getestet, muesste aber gehen.

    Gruss Joachim

    1. Hi,
      Ne, geht nicht, weil die Links auch ueberdeckt sind :-(
      Sorry