【问题标题】:getBoundingClientRect top property returns wrong value?getBoundingClientRect 顶部属性返回错误值?
【发布时间】:2017-11-22 15:41:21
【问题描述】:

我正在进入 div 元素的控制台顶部、左侧、右侧、底部属性:

var offSet = document.getElementById("div").getBoundingClientRect();  

为什么我得到 top 84 像素而不是 8 像素?

这是一个例子:https://codepen.io/Y-Taras/pen/zPjrWJ

附:要在控制台中查看 4 属性,请单击页面上的任意位置

【问题讨论】:

    标签: css


    【解决方案1】:

    在 CodePen 中,正文中的脚本在触发 onload 事件之前执行。因此,您从 div(在全局 offSet 变量中)获得的信息来自它在 draggable 函数将跨度更改为绝对位置之前所处的位置。

    (例如,您可以通过在分配offSet 之前在代码中添加alert() 来看到这一点。然后当div 仍低于span 时程序执行暂停。)

    解决方案:在onmouseup 函数或onload 事件中获取offSet 信息。

    【讨论】:

      猜你喜欢
      • 2022-11-11
      • 2022-11-08
      • 2018-10-19
      • 1970-01-01
      • 2015-05-12
      • 2017-04-30
      • 1970-01-01
      • 2023-03-05
      • 1970-01-01
      相关资源
      最近更新 更多