我有一个可拖动的对象设置为 position:relative 但我需要将它从 relative 更改为 absolute 仅当我拖动它并且我希望该对象保留在其初始空间中时。 我尝试以这种方式设置“拖动”:
$('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");
}
})
但它不起作用。
最佳答案
我想你需要 .offset().left
和 .offset().top
您能否详细说明“不起作用”(控制台中的错误?发生了什么?元素如何定位?)
和$('obj')
目标 <obj>
标签,你确定你的元素是有针对性的吗?
也许您尝试做类似的事情:http://jsfiddle.net/KyleKatarn/awjh79uw/1/
关于javascript - 为可拖动对象设置位置、顶部和左侧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26364167/