我进入div元素的控制台顶部,左侧,右侧,底部属性:
var offSet = document.getElementById("div").getBoundingClientRect();
为什么我得到顶部 84 px而不是8px?
以下是一个示例:https://codepen.io/Y-Taras/pen/zPjrWJ
P.S。要在控制台中看到4个属性,请单击页面的任意位置
答案 0 :(得分:1)
在CodePen中,在触发onload事件之前执行正文中的脚本。因此,从div(在全局offSet
变量中)获得的信息来自draggable
函数将跨度更改为绝对位置之前的位置。
(例如,您可以通过在分配alert()
之前在代码中添加offSet
来看到这一点。然后,当div仍然低于跨度时,程序执行暂停。)
解决方案:在offSet
函数或onmouseup
事件中获取onload
信息。