Heute beschäftigte ich mich mit einer Funktion um die Aktuelle Position eines HTML Elementes im DOM Baum zu bestimmen.
Ziel war es ein iFrame an der Stelle zu zeigen wo die Maus geklickt hat.. dies geht auch.. muss aber via Fallunterscheidung zwischen IE und Netscape passieren.
Eine bessere und einfacherer Lösung (so dachte ich 🙂 wäre es einfach relativ zur Position des HTML INPUT Feldes das Fenster anzuzeigen..
Dafür besitzt jedes HTML Element eine OffsetLeft und OffsetTop Eigenschaft.. die aber leider immer nur sich auf das jeweilige Element bezieht und eine Referenz auf das Parent Element liefert… aber genau das brauch man ja 🙂 und kann sich dann rekursiv “hoch hangeln” 🙂
Eine gute Lösung mit Browser Unterscheidung findet man auf http://blogs.korzh.com/progtips/2008/05/28/absolute-coordinates-of-dom-element-within-document.html mit Quellcode.
Download: getAbsPos.js
- var pos = getElementAbsolutePos(myElement);
- window.alert("Element's left: " + pos.x " and top: " + pos.y);