javascript - element.getBoundingClientRect() 在 FF 和 Chrome 中返回错误坐标

标签 javascript html css dom

我有一个名为“element”的对象。执行刷新后,我想返回表中相同的更新字段。我试图找到该对象的坐标(基本上它是一个表行)。 下面的代码片段在 IE 上运行良好。但在 FF 和 Chrome 中它不起作用。 因为它返回错误的值。

    var x = element.getBoundingClientRect();
    alert(x.top);

如何获得 FF 和 chrome 中的准确坐标?如果通过上面的代码无法实现,是否有其他方法?

谁能解释一下吗?

最佳答案

您似乎没有考虑页面当前的滚动位置。

当您重新加载页面时,大多数浏览器会将您滚动回重新加载之前的位置 ( a pretty useful feature )。

很可能 IE 在滚动到重新加载之前的位置之前正在评估 getBoundingClientRect,而 Chrome 和 Firefox 则首先进行滚动。

关于javascript - element.getBoundingClientRect() 在 FF 和 Chrome 中返回错误坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23491964/

相关文章:

javascript - Visual Studio IIS 工作正常,但在 IIS 7 脚本中托管时获取错误的 URL?

javascript - 复选框始终给出最后一个值

html - 需要帮助将兄弟元素错误消息定位到特定的选择列表

html -::首字母选择器 - IE11 与 Firefox 相比具有不同的布局

java - 从 databean 导入数据以触发启用/禁用复选框 (jsp/html)

html - 用百分比调整内容的高度

javascript - 从图像为 ONNX.js 创建张量

javascript - 实现这个序列的最快方法是什么?

html - 仅 Firefox 中的占位符问题

css - 在所有内容之后打印静态内容