Forum Doku Wiki Blog

Forumsarchiv 2005, März
Absolute Position

archivierte Beiträge lesen

  1. (JAVASCRIPT) Absolute Position von Thomas, 09. 03. 2005, 08:23

Absolute Position

Der folgende Beitrag wurde am 09. 03. 2005, 08:23 Uhr von Thomas veröffentlicht.

Hallo,

ich habe ein Problem. Ich brauche die absolute Position auf einem Dokument.

Ich habe 2 Möglichkeiten. Entweder die Position des Mauszeigers oder die Position eines Elementes.

Wichtig dabei ist das es die Position absolut zum gesamten Dokument ist und nicht nur von aktuell angezeigetem Bildschirm.

Ich will anschließend ein Layer genau an diese Position setzen. Bis her hab ich es nur geschaft die relative Position des Sceens herauszufinden. das passt wiederrum nicht mit der position des Layers zusammen..... da diese position absolut vom dokument und nicht vom screen ausgeht.

PS: "position:relative" funktioniert nicht...

Absolute Position

Der folgende Beitrag wurde am 09. 03. 2005, 08:57 Uhr von Cyx23 veröffentlicht.

Hallo,


> ich habe ein Problem. Ich brauche die absolute Position auf einem Dokument.

mir ist noch nicht ganz klar geworden worum es dir geht.

Vielleicht suchst du etwas wie getComputedStyle?

Hast du -nicht zu umfangreichen :)- Beispielcode?


Grüsse

Cyx23


--

Goldschmiedekurse

Absolute Position

Der folgende Beitrag wurde am 09. 03. 2005, 08:59 Uhr von Joachim veröffentlicht.

Hi,

> Ich habe 2 Möglichkeiten. Entweder die Position des Mauszeigers ...
Hier gibts ein Beispiel fuer die Mausposition

> Wichtig dabei ist das es die Position absolut zum gesamten Dokument ist und nicht nur von aktuell angezeigetem Bildschirm.
Was ist der aktuell angezeigte Bildschirm? Sprichst Du von der Scrollposition?

> Bis her hab ich es nur geschaft die relative Position des Sceens herauszufinden.
Die relative Position meines Screens ist etwa 50 cm vor meiner Nase...

> das passt wiederrum nicht mit der position des Layers zusammen..... da diese position absolut vom dokument und nicht vom screen ausgeht.
eine relative positionierung orientiert sich am Fluss der Html-Elemente. Eine absolute Positionierung hingegen an der Position eines ebenfalls _positionierten_ Elternelements oder,falls nicht vorhanden, des bodys.

> PS: "position:relative" funktioniert nicht...
doch, gut sogar.

Gruesse, Joachim
--
Am Ende wird alles gut.

Absolute Position

Der folgende Beitrag wurde am 10. 03. 2005, 11:30 Uhr von Struppi veröffentlicht.

> > Ich habe 2 Möglichkeiten. Entweder die Position des Mauszeigers ...
> Hier gibts ein Beispiel fuer die Mausposition

Hier verfällst du auf eine Unsitte die leider häufig benutzt wird.
document.all == IE

Nur das stimmt nicht, das Opera das schon länger kann ist klar, aber auch Mozilla ab Version ? kennt document.all
Ich weiß nicht, ob der das M$ DOM nachbaut, aber es ist sinvolller das zu prüfen, was man verwenden möchte.

also z.b. hier


// find out if ie runs in quirks mode
//
var docEl = (
document.documentElement &&
document.all &&
typeof document.compatMode != "undefined" &&
document.compatMode        != "BackCompat"
)? "documentElement" : "body";

// sinnvoller:
var docEl = (
typeof document.compatMode != "undefined" &&
document.compatMode        != "BackCompat"
)? "documentElement" : "body";


// position where mousemove fired
//
var xPos    =  document.captureEvents? e.pageX : window.event.x;
var yPos    =  document.captureEvents? e.pageY : window.event.y;

// Besser:
var xPos    =  e ? e.pageX : window.event.x;
var yPos    =  e ? e.pageY : window.event.y;


// und hier:

// for ie add scroll position
//
if (document[docEl]) {
xPos    += document[docEl].scrollTop;
yPos    += document[docEl].scrollTop;
}




Struppi.
--
Javascript ist toll

Absolute Position

Der folgende Beitrag wurde am 10. 03. 2005, 21:09 Uhr von Joachim veröffentlicht.

Hi,

> Hier verfällst du auf eine Unsitte die leider häufig benutzt wird.
> document.all == IE
Du hast Recht, ich bin verbluefft. Manche Zoepfe sind so alt, das man vergisst sie abzuschneiden.

Gruesse, Joachim
--
Am Ende wird alles gut.

Absolute Position

Der folgende Beitrag wurde am 10. 03. 2005, 23:00 Uhr von Joachim veröffentlicht.

Hi,

> Nur das stimmt nicht, das Opera das schon länger kann ist klar, aber auch Mozilla ab Version ? kennt document.all
ich habe jetzt nochmals genauer getestet. Mozilla kennt zwar document.all, aber nur wenn er im Quirks Modus laeuft. Das macht diese Abfrage in der Tat noch unzuverlaessiger.

das ist aber nicht sinnvoll...
> if (document[docEl]) {
> xPos    += document[docEl].scrollTop;
> yPos    += document[docEl].scrollTop;
> }
...denn Moz kennt document.documentElement.scrollTop, addiert also die Scrollposition und errechnet ein falsches Ergebniss. Da muss ich mir was anderes ausdenken...

Gruesse, Joachim
--
Am Ende wird alles gut.

Absolute Position

Der folgende Beitrag wurde am 11. 03. 2005, 00:24 Uhr von Struppi veröffentlicht.


> das ist aber nicht sinnvoll...
> > if (document[docEl]) {
> > xPos    += document[docEl].scrollTop;
> > yPos    += document[docEl].scrollTop;
> > }
> ...denn Moz kennt document.documentElement.scrollTop, addiert also die Scrollposition und errechnet ein falsches Ergebniss. Da muss ich mir was anderes ausdenken...

Hmmm, bei mir nicht http://javascript.jstruebig.de/lib/mouse.html

Allerdings prüfe ich nur so:

function getBody(w)
{
    return (w.document.compatMode && w.document.compatMode == "CSS1Compat") ?
    w.document.documentElement : w.document.body || null;
}

Struppi.
--
Javascript ist toll

Absolute Position

Der folgende Beitrag wurde am 11. 03. 2005, 10:29 Uhr von Joachim veröffentlicht.

Hi,

> Hmmm, bei mir nicht http://javascript.jstruebig.de/lib/mouse.html

ich denke das macht den kleinen Unterschied:

    pos.left = evt.clientX;
    pos.top = evt.clientY;

bzw:

    var xPos    =  e? e.pageX : window.event.x;
    var yPos    =  e? e.pageY : window.event.y;

e.pageX bekommt bei Dir nur NC 4x zu sehen. Muss mal recherchieren, ob das moeglicherweise veraltet ist...

Mit document.all das habe ich wirklich verpennt, fuer die Faelle, wo ich es benoetige, nicht aber auf die eigentliche Methode testen kann, muss ich mir was ausdenken. captureEvents ist ganz brauchbar, das kennt auch Opera. Aber ich muss auch noch am PC testen...


Gruesse, Joachim
--
Am Ende wird alles gut.

Absolute Position

Der folgende Beitrag wurde am 09. 03. 2005, 09:15 Uhr von JürgenB veröffentlicht.

Hallo Thomas,

Beispiele und Infos, wie Du an die Mauskoordinaten kommst, findest Du hier:

http://www.jstruebig.de/web/javascript/exp/mouse-test.html
http://www.j-berkemeier.de/MausOmeter.html

Bei der unteren Seite wird per Mausklick an der Mausposition ein kleines Fenster mit den Mauskoordinaten eingeblendet.

Gruß, Jürgen

© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4