Jquery ui Jquery UI是否可以拖动绝对值而不是相对值?
我有一个div,其中包含一些jquery draggables,但是,如果在任何时候我从页面中删除其中一个draggables,那么这可以移动其余的draggables,因为它们是用relative定位的 这是一把小提琴,展示了这一点: 我建议的解决方案是,拖拽设备应该使用绝对定位,而不是相对定位,但是我找不到一种方法来做到这一点。有办法做到这一点吗?如果没有,有人能想出一个解决办法吗?(为了优雅起见,我不会接受“不要删除另一个拖拉表”)。为什么不适合你Jquery ui Jquery UI是否可以拖动绝对值而不是相对值?,jquery-ui,jquery-ui-draggable,Jquery Ui,Jquery Ui Draggable,我有一个div,其中包含一些jquery draggables,但是,如果在任何时候我从页面中删除其中一个draggables,那么这可以移动其余的draggables,因为它们是用relative定位的 这是一把小提琴,展示了这一点: 我建议的解决方案是,拖拽设备应该使用绝对定位,而不是相对定位,但是我找不到一种方法来做到这一点。有办法做到这一点吗?如果没有,有人能想出一个解决办法吗?(为了优雅起见,我不会接受“不要删除另一个拖拉表”)。为什么不适合你 由于绝对定位元素不再是文档流的一部分,
由于绝对定位元素不再是文档流的一部分,因此三个
元素中的每一个都位于其包含(定位)元素的0,0
。因此,这取决于你。也许不是最好的主意,但。。。您可以使用position:relative定位所有相关div;然后在or$(“document”).ready()中包含一个函数调用,如果您使用的是jQuery,它会迭代每个div,将它们的相对位置转换为绝对位置,并将它们设置为左上方,然后再将它们更改为position:absolute。这里唯一的问题是,您希望每个div在更新其样式之前都处于绝对位置,这样就不会通过迭代改变布局
position:absolute
添加到元素中.draggable
之前将它们附加到DOM在将元素设置为可拖动时,可以使用jQuery css函数将位置设置为绝对位置
$(this).draggable().css("position", "absolute");
@挥发物形态:不,它没有。查看我的使用
位置:绝对
——它从未更改为相对
。是的。这就是我删除评论的原因。可以说,这是在我的“生产代码”中。但不是你的。然而。如果我在使其可拖动后将位置设置为绝对,那么它将保持绝对。我想我应该更努力一点,哈哈。谢谢为了澄清这个场景,如果您通过css/inline将可拖动元素的位置设置为绝对
,那么可拖动插件不会为您将其内联设置为相对
,您可以确定(或不确定)起始位置(有助于动态生成的元素)。但是,不要通过css以.ui draggable
为目标,因为该选择器似乎是在它决定是否应用定位后添加的。要添加的另一件事:当父容器设置为位置:static
时,它会使父容器停止滚动。要重新启用滚动,只需将其设置为position:absolute
注意,如果他使用的是参数iframeFix:true,那么jqueryui将其转换为保存我的一天之前的相对位置。谢谢。将“位置”设置为“绝对”后,就不能再拖动了