我有一个类与表:.screens
,它的单元格是可放下的。我可以从单元格的列表中拖动任何项目。我还试图计算用户放弃物品的位置,以便它出现在正确的位置。但是有一个问题,如果用户试图删除除第一个单元格以外的任何单元格中的项目,则放置位置得到错误计算。这里是我的这种计算代码:Droppable元素位置得到错误计算
var pos = ui.draggable.offset(), dPos = $(this).offset();
var droppedTop = ui.position.top - $(this).offset().top + $('#mainContainer').scrollTop();
var droppedLeft = ui.position.left - $(this).offset().left + $('#mainContainer').scrollLeft();
那么我指定这些顶部和左侧位置滴下的项目。如果没有表格,但是只有div,此代码可以很好地工作。这里是小提琴:https://jsfiddle.net/vaxobasilidze/moafzcx8/2/将项目拖放到表中以查看问题。任何想法如何解决这一问题?
你没有'#mainContainer'。 –
@AndyG我已经修复了在小提琴中,但它不起作用。 #mainContainer(现在#mainDiv)是此表的父项,可能会滚动。 –
将$('。screenContainer')。droppable(....)更改为$('。screens')。droppable(....)。这将根据整个.screens容器设置顶部和左侧位置,而不是单个.screenContainer元素。 –