更改元素的“offsetParent”以获取相对于其最近父级的位置?

时间:2016-05-17 10:08:26

标签: javascript jquery css

我使用Jquery“draggable”& “droppable”将元素从一个div移动到另一个div。

当我将元素放入“droppable”时,我想存储新的位置 我可以这样做:$('draggedElement').position()
唯一的问题是我将获得相对于“offsetparent”的位置,即“body” 我希望它与dropzone相关。

改变“offsetparent”是否可行,或者我是否需要以某种方式计算位置?

Jquery offsetparent();不接受任何论据。

FIDDLE
https://jsfiddle.net/0apuqnxd/4/

1 个答案:

答案 0 :(得分:0)

offsetParent(https://api.jquery.com/offsetParent/)的文档说明如下:

  

描述:获取最接近的祖先元素。

您需要将位置定义应用于您要抵消的父级。

<div id="parent" style="position: relative;">
   <div id="draggedElement"></div>
</div>

更新

现在你已经提供了一个小提琴,我们可以看到你的可拖动元素不是你放入它们的元素的子元素。所以你必须做一些数学来计算位置。在伪代码中:

droppedPosition - (elementDroppedInto - draggableParent)