次の関数を使用して作業を開始する前に、アイテムが表示されていることを確認しようとしています。
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
ますか?または誰かが別の方法を持っていますか?