1
0
mirror of https://github.com/gryf/pentadactyl-pm.git synced 2025-12-22 08:07:59 +01:00

first checkin of the new FF3-based genElemCoords

This commit is contained in:
Martin Stubenschrott
2007-08-28 13:28:52 +00:00
parent b450ac01c9
commit 2c48cc3dae

View File

@@ -92,38 +92,37 @@ function Hints() //{{{
function genElemCoords(elem) function genElemCoords(elem)
{ {
// NOTE: experiment for making the function faster, report problems // NOTE: experiment for making the function faster, report problems
// only works for FF3.0: var rect = elem.getClientRects()[0];
//var rect = elem.getClientRects()[0]; if (rect)
//if (rect) {
elem.absoLeft = rect.left;
elem.absoTop = rect.top;
}
return;
//if (typeof(elem.validCoord) != "undefined")
//{ //{
// elem.absoLeft = rect.left; // if (elem.validCoord == elem.ownerDocument.validCoords)
// elem.absoTop = rect.top; // return;
//} //}
//return;
if (typeof(elem.validCoord) != "undefined") //if (elem.offsetParent)
{ //{
if (elem.validCoord == elem.ownerDocument.validCoords) // genElemCoords(elem.offsetParent);
return; // elem.absoLeft = elem.offsetParent.absoLeft + elem.offsetLeft;
} // elem.absoTop = elem.offsetParent.absoTop + elem.offsetTop;
//}
if (elem.offsetParent) //else if (elem.offsetLeft && elem.offsetTop) // TODO: ugly and broken temporary fix until FF3
{ //{
genElemCoords(elem.offsetParent); // elem.absoLeft = elem.offsetLeft;
elem.absoLeft = elem.offsetParent.absoLeft + elem.offsetLeft; // elem.absoTop = elem.offsetTop;
elem.absoTop = elem.offsetParent.absoTop + elem.offsetTop; //}
} //else
else if (elem.offsetLeft && elem.offsetTop) // TODO: ugly and broken temporary fix until FF3 //{
{ // elem.absoLeft = 0;
elem.absoLeft = elem.offsetLeft; // elem.absoTop = 0;
elem.absoTop = elem.offsetTop; //}
} //elem.validCoord = elem.ownerDocument.validCoords;
else
{
elem.absoLeft = 0;
elem.absoTop = 0;
}
elem.validCoord = elem.ownerDocument.validCoords;
} }
function createHints(win) function createHints(win)