我正在努力更新我自己的可拖动脚本,我想知道jquery-ui如何允许你将元素的位置设置为相对,并且仍允许你移动它而不影响它周围的任何元素也相对定位和浮动?
截至目前,我的当前脚本接受任何元素并获取其位置,但是当您拖动它时将其设置为绝对值,因此它周围的所有元素最终都会移位以取代它。
我唯一的两个想法是:
a)自动将页面上的所有元素设置为position:当我移动一个可拖动的(看起来非常低效)时绝对。
b)创建一个保留在确切位置的当前元素的不可见副本。
并且基本上实现:
var e = document.getElementById('div');
console.log(document.defaultView.getComputedStyle(e, null).getPropertyValue("position"));
我可以从中确定是否需要步骤a或b。
但是,据我所知,对我而言,似乎jquery-ui-draggable都没有这些。
以下是使用jquery-ui-draggable的示例:http://jsfiddle.net/aNk6e/17/
我怎样才能达到同样的效果?
答案 0 :(得分:0)
这就是position: relative
的工作原理。该元素仍然会影响文档,就像它处于原始位置一样,但可以移动。
考虑这个小提琴:
注意其他两个项目是如何受到影响的,就好像元素处于原始位置但元素被移动一样。
只需操作top
和left
即可移动元素,而不会影响文档流中的其他元素。