offsetLeft - offsetTop falsch bei gefloateten Elementen

hans jörg

Erfahrenes Mitglied
Hallo,

ich habe mir gerade eine Funktion geschrieben mit der ich von Html Elementen die Absoluten Koordinaten auf einer Website ermitteln kann. Das ganze Funktioniert mittels offsetLeft und offsetTop der Elemente und ihrer jeweiligen Eleternelemente. Leider stimmt das Ergebnis (meistens im IE) von offsetLeft und offsetTop nicht mehr sobald gefloatete Elemente auf der Seite sind. Vielleicht hat ja jemand eine Lösung für dieses Problem ? Ich würde mich sehr darüber freuen :-)
 
Hi,

vielleicht hilft es, jeweils die Offsetwerte zum Elternelement zu bestimmen.
Code:
function myTopOffset(strID){
  var intReturn = 0;
  var objElem = document.getElementById(strID);

  // Solange Elternknoten mit relevantem TopOffset durchlaufen, bis keiner mehr gefunden wird
  while(objElem != null){
    intReturn += objElem.offsetTop;
    objElem = objElem.offsetParent;
  }

  return intReturn;
}
Ciao
Quaese
 
Hi,

danke für die Antwort, so ähnlich sieht auch meine Funktion aus. Das Problem ist nur, dass offsetTop (bzw. -Left) nicht immer den richtigen Rückgabewert haben wenn eines oder mehrere der Elemente gefloatet sind. Ich habe nur ganz sperrliche Informationen dazu im Internet gefunden, dass die Abweichungen bei den offset Eigenschaften wegen Browser Bugs beim Rendern passieren - komisch ist für mich dabei, dass optisch die Seite richtig angezeigt wird.
 

Neue Beiträge

Zurück