我有一个名为' element'的对象。刷新后,我想回到表中相同的更新字段。我试图找到对象的坐标(基本上它是一个表格行)。 下面的代码片段适用于IE。但在FF和Chrome中它不起作用。 因为它返回了错误的值。
var x = element.getBoundingClientRect();
alert(x.top);
如何获得FF和chrome的精确坐标?如果不能通过上面的代码,是否有任何替代方法?
有人可以解释一下吗?
答案 0 :(得分:0)
您似乎没有考虑页面的当前滚动位置。
当您重新加载页面时,大多数浏览器会将您滚动回到重新加载之前的位置(a pretty useful feature)。
IE可能会在重新加载之前滚动到您之前评估getBoundingClientRect
,而Chrome和Firefox首先进行滚动。
答案 1 :(得分:0)
要注意的一件事是getBoundingClientRect()返回的值就像页面以100%缩放(至少在Chrome中显示)一样,而与实际缩放级别无关。
这可以通过将它们乘以window.devicePixelRatio
来解决。