使用Prototype偏移高度

时间:2009-12-15 20:19:30

标签: javascript css prototypejs

我在Internet Explorer 8和Firefox 3.5中的Prototype的cumulativeOffset函数中获得了不同的值,这些函数在复杂的布局中有几个元素具有填充和边距。

这似乎是一个已知的错误:Discussion

是否有人知道基于原型或原型兼容的方法可靠地确定静态定位元素的偏移高度?

1 个答案:

答案 0 :(得分:5)

这是来自Kangax's cheat sheet的图表,他是Prototype DEV团队的成员之一。

alt text http://preview.moveable.com/JM/dev/prototype_cheatsheet_1.6.0.png

您可以添加视口偏移和滚动偏移,但我不确定这会包含相同的问题。

大多数时候我使用Quirksmode script来查找元素位置:

function findPos(obj) {
    //find coordinates of a DIV
    var curleft = curtop = 0;
    if (obj.offsetParent) {
        curleft = obj.offsetLeft
        curtop = obj.offsetTop
        while (obj = obj.offsetParent) {
            curleft += obj.offsetLeft
            curtop += obj.offsetTop
        }
    }
    return [curleft, curtop];
}