mirror of
https://github.com/gryf/pentadactyl-pm.git
synced 2025-12-22 07:37:59 +01:00
first checkin of the new FF3-based genElemCoords
This commit is contained in:
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user