Javascript 在可拖动div中设置正确的位置
我想做的是: 将一个div设置为可拖动,然后按一个按钮将其位置重置为默认位置 问题是,为什么在设置为可拖动后,我不能将绝对div的位置设置为右侧 编辑:首先拖动div,然后单击按钮Javascript 在可拖动div中设置正确的位置,javascript,jquery,position,draggable,Javascript,Jquery,Position,Draggable,我想做的是: 将一个div设置为可拖动,然后按一个按钮将其位置重置为默认位置 问题是,为什么在设置为可拖动后,我不能将绝对div的位置设置为右侧 编辑:首先拖动div,然后单击按钮 $('div').draggable(); $('#button').click(function(){ $('div').draggable('destroy').css({ // destroy was only a test top: 0, right: 0 // nothin
$('div').draggable();
$('#button').click(function(){
$('div').draggable('destroy').css({ // destroy was only a test
top: 0,
right: 0 // nothing happens
});
});
只有在我使用left
时,该位置才起作用
编辑2:我不使用左侧位置的原因是,如果放大,将覆盖其他内容。有什么建议,请便
我缺少什么?因为在可拖动元素上仍然有一个优先于“右”值的“左”值。您需要“取消设置”左值这是因为
$.draggable()
在拖动div时设置左
,并且在调用$.draggable('destroy')后,它将保持设置状态
只需使用left:auto重置left代码>
首先将左位置重置为auto
,因为拖动方法仍然有左位置,然后设置右位置。我想我不明白你的问题。@Gabriel Santos:如我所说打开JSFIDLE演示,拖动div并单击按钮。重置为0没有帮助,您需要将其重置为auto
,以便左、右和宽度之间不存在冲突有趣的是animate()
像css
一样工作,左
保持在相同的位置。$.css()
只设置css属性<代码>$。动画
更智能,它知道如果要设置左侧动画,则右侧需要自动设置,反之亦然
$('div').draggable();
$('#button').click(function(){
$('div').draggable('destroy').css({
top: 0,
left: 'auto',
right: 0
});
});