Div-Layer an Mausposition
christian
- javascript
0 derletztekick0 christian0 derletztekick0 Struppi
0 JürgenB
Hallo,
eigentlich denke ich, dass ich mich halbwegs gut mit JavaScript auskenne. Jetzt bastle ich jedoch seit Stunden an einem sicherlich einfachen Problem, dessen sicherlich simple Lösung ich nicht hinbekomme.
Ich hab auf meiner Seite einen Link, wenn ich darauf klicke, soll an dieser Position ein DIV-Layer erscheinen.
Mein Problem, ich bekomm nicht heraus, wie ich die Position des Layers (in dem Fall die x- und y- Position des Mauszeigers auslese. Ich hab schon Einiges ausprobiert, leider erfolglos.
Kann jemand helfen?
christian
Ich glaub jedoch, dass es da auch einfachere Möglichkeiten gibt, oder?
Ich benötige ja nur die x und die y-Position. Auf selfhtml gibt es beispielsweise sowas wie pageX und pageY. Leider werd ich daraus (http://de.selfhtml.org/javascript/objekte/event.htm) nicht schlau.
Ich weiß, wie ich -wenn ich auf einen Link klicke, den Layer öffne. Mir fehlt nur die Möglichkeit die aktuelle Mausposition zu bestimmen, um diese dann in den "style-Bereich" des Layers zu übergeben.
Hallo christian,
Ich glaub jedoch, dass es da auch einfachere Möglichkeiten gibt, oder?
Öhm, es sind nur 27 Zeilen, wenn Du auf NS 4 verzichten kannst, fällt der else if() Zweig weg. Da Du nicht top/left im aktuellen Fenster sondern auf der gesamten Seite suchst, fallen weitere zwei Zeilen weg. Bleiben 10 Zeilen des genannten Scriptes übrig.
Warum glaubst Du erstellt einer so ein Script, wenn es in JavaScript bereits eine fertige Funktion dafür gibt?
Mit freundlichem Gruß
Micha
Ich glaub jedoch, dass es da auch einfachere Möglichkeiten gibt, oder?
Ich benötige ja nur die x und die y-Position. Auf selfhtml gibt es beispielsweise sowas wie pageX und pageY. Leider werd ich daraus (http://de.selfhtml.org/javascript/objekte/event.htm) nicht schlau.
Ich weiß, wie ich -wenn ich auf einen Link klicke, den Layer öffne. Mir fehlt nur die Möglichkeit die aktuelle Mausposition zu bestimmen, um diese dann in den "style-Bereich" des Layers zu übergeben.
Dazu musst du diese eben ermitteln wie es meine Funktion ja auch macht, leider benutzen aber viele Browser eine unterschiedliche Variante. Wie schon erwähnt, wenn du auf Netscape 4 vertichten kannst, du den Doctype kennst und sicher bist dass du nie einen anderen verwendest und/oder wenn die Seite nie gescrollt wird kannst du das ganze auch auf:
function mouse_pos(evt)
{
if(!evt) evt = window.event;
var pos = {left: evt.clientX, top: evt.clientY};
return pos;
}
kürzen.
Sinnvoll ist das aber nicht, da du die minimale Ersparniss mit gewissen Unsicherheiten, wenn du das Dokument ändern solltest oder der Besucher eine andere Einstellung als du hast, bezahlst
Struppi.
Hallo christian,
auf dieser Seite mache ich u.a. genau so etwas:
http://www.j-berkemeier.de/MausOMeter.html.
Einfach mal mit der Maus irgendwohin klicken.
Gruß, Jürgen