Javascript 如何在用户文本选择旁边找到元素的顶部位置?
从这个主题: 我可以从以下位置获取左侧位置:Javascript 如何在用户文本选择旁边找到元素的顶部位置?,javascript,google-chrome,google-chrome-extension,Javascript,Google Chrome,Google Chrome Extension,从这个主题: 我可以从以下位置获取左侧位置: var obj = arrow_btn; var left = top = 0; do { left += obj.offsetLeft; top += obj.offsetTop; } while (obj = obj.offsetParent); console.log("left=
var obj = arrow_btn;
var left = top = 0;
do {
left += obj.offsetLeft;
top += obj.offsetTop;
} while (obj = obj.offsetParent);
console.log("left="+left);
console.log("top=" + top);
但我在控制台里看到:
左=590
top=[对象窗口]
关于为什么无法获取顶部的任何注释?是,“顶部”是全局对象“窗口”的一个不可变属性,该对象指向顶部框架(DOMWindow)。您的代码相当于:
var left;
window.top = 0; // no effect
left = window.top;
....
要更正它,只需确保top是一个var
var left = 0,
top = 0;