我正在尝试检查以确保在开始使用以下功能之前可以看到一个项目
isVisible: function (node, doc, x, y) {
var el = doc.elementFromPoint(x, y);
if (node === el) return true;
else return false;
},
x
和y
是所选节点的位置,由下式计算
findPos: function (node) {
var pos = new Object();
pos.left = pos.top = 0;
if (node.offsetParent) {
do {
pos.left += node.offsetLeft;
pos.top += node.offsetTop;
} while (node = node.offsetParent);
}
return pos;
}
一切正常。但是,当我向下滚动页面时,该isVisible
函数不再返回正确的值。这是由于位置已更改但查找位置函数未返回正确值引起的。
有没有一种方法可以获取元素的位置,比如 的反面elementFromPoint
?或者有人有其他方法吗?