我有一个可拖动的对象设置为position:relative但我需要将它从相对更改为绝对,只有当我拖动它时我希望对象保持在其初始空间中。 我试着设置"拖动"这样:
$('obj').draggable({
cursor: 'move',
revert: true,
drag: function () {
var posizione = $(this).position();
var posizione_x = posizione.left;
var posizione_y = posizione.top;
$(this).css({
"left": posizione_x,
"top": posizione_y,
"position": "absolute"
});
},
stop: function () {
$(this).css("position", "relative");
}
})
或以这种方式:
$('obj').draggable({
cursor: 'move',
revert: true,
drag: function () {
var posizione_x = $(this).offsetLeft;
var posizione_y = $(this).offsetTop;
$(this).css({
"left": posizione_x,
"top": posizione_y,
"position": "absolute"
});
},
stop: function () {
$(this).css("position", "relative");
}
})
但它不起作用。
答案 0 :(得分:1)
我认为您需要.offset().left
和.offset().top
你能否详细说明“无法正常工作”(控制台出错?发生了什么?元素如何定位?)
并$('obj')
定位<obj>
代码,您确定您的元素定位良好吗?
也许您尝试做类似的事情:http://jsfiddle.net/KyleKatarn/awjh79uw/1/