我使用Jquery“draggable”& “droppable”将元素从一个div移动到另一个div。
当我将元素放入“droppable”时,我想存储新的位置
我可以这样做:$('draggedElement').position()
唯一的问题是我将获得相对于“offsetparent”的位置,即“body”
我希望它与dropzone相关。
改变“offsetparent”是否可行,或者我是否需要以某种方式计算位置?
Jquery offsetparent();不接受任何论据。
答案 0 :(得分:0)
offsetParent(https://api.jquery.com/offsetParent/)的文档说明如下:
描述:获取最接近的祖先元素。
您需要将位置定义应用于您要抵消的父级。
<div id="parent" style="position: relative;">
<div id="draggedElement"></div>
</div>
更新
现在你已经提供了一个小提琴,我们可以看到你的可拖动元素不是你放入它们的元素的子元素。所以你必须做一些数学来计算位置。在伪代码中:
droppedPosition - (elementDroppedInto - draggableParent)