Mausposition

Tobsen

Grünschnabel
Hallo,
wie kann ich herausfinden, ob sich die Maus gerade über einem bestimmten div-Bereich befindet, bzw ob sie den verlassen hat. Das Problem ist nämlich folgendes: Ich habe eine Tabelle. Fährt man mit der Maus über eine Zelle, so wird die Eigenschaft, eines darunterbefindlichen <div>-Bereiches auf visible gesetzt. Wenn der User die Zelle mit der Maus verlässt, soll die Eigenschaft wieder auf hidden gesetzt werden. Hier tut sich mir aber nun folgendes Problem auf. Wenn der User den Bereich nur verlassen hat um auf dem <div>-Bereich etwas auszuwählen, kann er dies nicht tun, da dieser ja ,nachdem der User mit der Maus von der Zelle runter ist, verschwunden (hidden) ist. Könnt ihr mir ein Tipp geben, wie ich das machen kann? Falls ihr nicht verstanden habt, was ich hier geschrieben habe, fragt einfach nochmal nach. Ich danke euch vielmals!
MfG
Tobsen
 
Das ist recht kompliziert.
Mal mein vorschlag:
entweder mit den event.x und event.y Variablen Mausposition bestimmen, dann muss aber der Div und die Tabelle mit css absolut positioniert sein, oder du machst statt dem div eine Zelle von der Tabelle wo du auch der Menüpunkt (oder was auch immer) drin is.
Dann fragst du mit JavaScript per mousemove, mouseover und mouseout handlern ab über welcher Zelle sich die Maus gerade befindet.
Is zwar ein bisschen kompliziert und warscheinlich lassen sich Bugs auch kaum verhindern aber es wäre schon mal ein Ansatz.
Musst mal a weng surfen, es gibt einige Homepages die änlich Funktioniern.

Ich hoffe des hilft dir was. Wenn ich mal gut draufbin versuch ichs vielleicht mal

]Ton[
 
Hmmmm... danke erstmal für deine Hilfe.
Habe jetzt folgende Funktion gebastelt, aber irgendwie funzt des noch net so, wie ich das gerne hätte.

function showmenu(id1, idwidth, idheight )
{
if(event.x > id1width || event.y > idheight)
{
document.getElementById(id1).style.visibility='hidden';
}
}

Könnt ihr mir vielleich weiterhelfen....
 
Also hier mal ein paar Codeschnipsel:

//.......head-bereich
function hidemenu(id1, idwidth, idbottom)
{
if(window.event.x > id1width || window.event.y > idbottom)
{
document.getElementById(id1).style.visibility='hidden';
}
}
//..........


//............body-bereich

<div id="home__" style="position:absolute; top:27px; left:0px; width:16.66%; background-color:#0099FF;
visibility:hidden; border-width:2px; border-color: #0033FF; border-style:solid; z-index:1; height:70px;"
onMouseMove="hidemenu('home', 16.66%, 70px);">


Ich weiß net weiter :(
 
Warum versuchst du auch ein Element mit der ID "home" zu referenzieren, wenn deine <div>-Sektion doch die ID "home__" verpasst bekommt?

Des weiteren sieht das ganze bisher recht sinnfrei aus, da dein <div>-Bereich auf "hidden" gestellt ist und nach entsprechendem mousemove weiterhin "hidden" verpasst bekommt, da kann ja nix ersichtlich werden, oder?

Geist
 

Neue Beiträge

Zurück