Hallo,
ich habe in meinem Code eine Funktion, die die relative Position eines Elements zur linken oberen Ecke des Anzeigebereichs ausrechnet und dabei auch Angaben wie position:relative und position:absolute der Element Hierarchie berücksichtigt.
Der Code funktioniert wunderbar in allen von uns unterstützten Browsern (IE6+ (XP/Vista), FF1.5+ (XP/Vista/Mac), Opera9+, Safari (XP/Mac)) und das muss er natürlich auch weiterhin.
Problem von dieser Funktion ist lediglich die Geschwindigkeit. Da alle Eltern Element der Hierarchie durchlaufen werden (und wir viel mit position arbeiten müssen), dauert es zu lange sie auszuführen. Ich soll jetzt prüfen, ob man die Performance davon verbessern kann.
Habt Ihr eine Idee?
Hier ist der Code:
function findAbsElPos(el)
{
var orig = el;
var cureft = 0;
var curtop = 0;
if (el.offsetParent) {
curleft = el.offsetLeft;
curtop = el.offsetTop;
while (el = el.offsetParent) {
curleft += el.offsetLeft;
curtop += el.offsetTop;
}
}
return {x:curleft, y:curtop};
};
Danke schonmal für Eure Hilfe,
Katharina