Ich habe ein Script, mit dem ich an einer bestimmten Stelle des Dokumentes die y-Position eines Elementes (über eine ID) berechne. Diese Funktion liefert im IE 6 generell einen richtigen Wert zurück. Beim IE mit Servicepack 2 jedoch ist der Wert völlig falsch. Abweichung z.B. ohne SP2 Rückgabewert 175 Pixel, mit SP2 Rückgabewert 39 Pixel.
Ich verzweifel langsam, weil die Funktion an sich funktioniert und ich auf den Wert angewiesen bin. Irgendwelche Ideen, wie man das Problem lösen kann?
Hier die Funktionen zur Bestimmung der y-Position:
function getPosition(element)
{
var elem=element,tagname="",y=0;
while ((typeof(elem)=="object")&&(typeof(elem.tagName)!="undefined"))
{
y+=elem.offsetTop;
tagname=elem.tagName.toUpperCase();
if (tagname=="BODY")
elem=0;
if (typeof(elem)=="object")
if (typeof(elem.offsetParent)=="object")
elem=elem.offsetParent;
}
position=new Object();
position.y=y;
return position;
}
function alertHoehe(elementId)
{
var a,element;
element=document.getElementById(elementId);
a=getPosition(element);
return a.y;
}