我想知道滚动的iFrame中HTML元素的绝对位置(顶部和左侧的像素)。我尝试过使用quirksmode(http://www.quirksmode.org/js/findpos.html)中的findpos
脚本:
function findPos(obj) {
var curleft = curtop = 0;
if (obj.offsetParent) {
do {
curleft += obj.offsetLeft;
curtop += obj.offsetTop;
}
while (obj = obj.offsetParent);
return [curleft, curtop];
}
}
这似乎没有说明iFrame可能已滚动的事实。如何修改此脚本以考虑iFrame的滚动?
答案 0 :(得分:0)
function findPosRelativeToViewport(obj) {
var pos= findPos(obj);
var root= document.compatMode=='BackCompat'? document.body : document.documentElement;
pos[0]-= root.scrollLeft;
pos[1]-= root.scrollTop;
return pos;
}
(compatMode的东西是为了在Quirks模式下迎合IE。但是不要使用Quirks模式。)