因此,我试图找出与jQuery的offSet函数和实际对象偏移有关的问题。当我为我的对象执行console.log时,它显示的offsetTop为21294。但是,当我执行jQuery函数调用offset()。top时,我得到22069。主体没有填充或边距,所以im有点迷失了一切返回的原因如此不同。该对象的最高边距为30,但仅此而已。

最佳答案

他们做不同的事情。

jQuery's site for offset


  获取第一个元素的当前坐标,或设置匹配元素集中相对于文档的每个元素的坐标。


Mozilla's JS docs on offsetTop


  HTMLElement.offsetTop只读属性返回当前元素相对于offsetParent节点顶部的距离。


因此,您要测量一个相对于文档的位置,一个相对于offsetParent节点的位置。

通常,定位的div或表将充当其中包含的任何元素的偏移容器。

就您而言,它似乎是div#resizable.main-content

10-06 04:52