Webstatt.org - Community seit 2006 - 2012 (2024?)

Mausposition relativ zu einem Element

user-203
07.02.2007 18:03

Hallo zusammen.

Ich scheitere mal wieder an einem JS-Problem:

Ich möchte zwecks einer Farbauswahl, so eine Art Scrollbar/Trackbar (horizontal) oder wie das Ding auch immer genannt wird basteln. D.h. man hat ein 255px (expemplarisch) breites Div-Element auf das man klicken kann. Jetzt bräuchte ich die X-Koordinate der Maus zum Zeitpunkt eines Klicks relativ zur linken Seite des Div-Elements.

Hab da jetzt schon viele schöne Stunden bei Google und Co. verbracht, bin aber bisher nur auf window.event.offsetX gestoßen, welches nur im Internet Explorer funktioniert. Für Firefox, Netscape und Opera habe ich noch nichts ansatzweise funktionierendes gefunden.

Hat da jemand was?

mfg
Johannes

Denkt dran, Kinder auf dem Rücksitz verursachen Unfälle, Unfälle auf dem Rücksitz verursachen Kinder.
Avatar user-271
07.02.2007 18:06

naja du kannst bestimmt wo sich dieses div element befindet und dann di differenz nehmen....das ist die einzige möglichkeit die mir immo einfällt

wie man die position des div elements rauskriegt sollte mit style.left oder so gehen Fettes Grinsen

->nachschlagen zwinkern


Mausposition: [Js] Mauskoordinaten OO

#!/bin/bash
traurig){ neutral:& };:
user-203
07.02.2007 18:43

Die Idee hatte ich schon soweit, habe nur bis grade nicht hinbekommen die Position des Elements zu ermitteln lächeln . Style.left gibt nur einen Wert aus, wenn man selber einen vorgegeben hat (über css). Aber habe es dank einer endlich mal erfolgreichen Suche doch noch schaffen können. user-158keschön nochmal.

function ....
{
.....
// el ist das Objekt, dessen Distanz zum Browserrand gemessen werden soll.

var elt = el.offsetParent;
var x2 = el.offsetLeft;
while (elt)
{
x2 = x2 + elt.offsetLeft;
elt = elt.offsetParent;
}

// x(position des mauszeigers) -x2 = Relative Mauskoordinaten
.....
}

Denkt dran, Kinder auf dem Rücksitz verursachen Unfälle, Unfälle auf dem Rücksitz verursachen Kinder.