我在Internet Explorer 8和Firefox 3.5中的Prototype的cumulativeOffset
函数中获得了不同的值,这些函数在复杂的布局中有几个元素具有填充和边距。
这似乎是一个已知的错误:Discussion
是否有人知道基于原型或原型兼容的方法可靠地确定静态定位元素的偏移高度?
答案 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];
}