Fabian Bernecker: Absolute Position mit Java Script

function getPos(arg_obj){
  var Eltern=document.all.arg_obj.parentElement;
  var left = 0;
  var top = 0;
  while (Eltern) {
    left += Eltern.offsetLeft;
    top += Eltern.offsetTop
    Eltern=Eltern.parentElement;}
  alert("Left: " + left + "px Top: " + top + "px");}

Hallo zusammen :)

Das is ma ein kleiner Source um die Position eines objektes innerhalb eines Dokumentes herauszufinden. Dies ist aber nicht die absolute Position da ich nicht weiß wie ich mit Java Script die einzelnen Margins auslesen kann.
Gibt es u.U. noch eine andere Eigenschaft außer offsetTop / offsetLeft die die absolute Position des Objektes zurückgibt?

MfG

Fabian Bernecker

  1. function getPos(arg_obj){
      var Eltern=document.all.arg_obj.parentElement;
      var left = 0;
      var top = 0;
      while (Eltern) {
        left += Eltern.offsetLeft;
        top += Eltern.offsetTop
        Eltern=Eltern.parentElement;}
      alert("Left: " + left + "px Top: " + top + "px");}

    Hallo zusammen :)

    Das is ma ein kleiner Source um die Position eines objektes innerhalb eines Dokumentes herauszufinden. Dies ist aber nicht die absolute Position da ich nicht weiß wie ich mit Java Script die einzelnen Margins auslesen kann.
    Gibt es u.U. noch eine andere Eigenschaft außer offsetTop / offsetLeft die die absolute Position des Objektes zurückgibt?

    MfG

    Fabian Bernecker

    Hi,

    welche Margins meinst du?? Die des Bodys, oder die von jedem Element?
    Evtl müsstest du dann auch noch die Borders und Paddings auslesen. Da weiß ich jetzt nicht was in offsetLeft wirklich gespeichert ist (inkl oder exkl. border, padding, margin...)

    Den des Body kriegst du so:
    document.body.topMargin; / leftMargin
    bzw. document.body.style.marginLeft / marginTop

    von den Elementen auch alle über das style-Attribut:
    obj.style.padding /margin/border

    Statt style auch mal mit runtimeStyle und currentStyle probieren.

    Ist zwar alles nur für IE, aber dein Skript läuft sowieso nur unter IE. (und evtl opera 7)

    Gruß
    Christian