在可拖动的div中设置正确的位置

时间:2012-07-25 19:23:45

标签: javascript jquery position draggable

我正在尝试做什么:

将div变为可拖动,然后按下按钮以重置其默认位置。

问题是,为什么在设置为可拖动后,为什么我无法设置绝对div的right位置?

编辑首先展开div,然后点击按钮。

$('div').draggable();
$('#button').click(function(){
   $('div').draggable('destroy').css({ // destroy was only a test
       top: 0,
       right: 0 // nothing happens
   });
});

jsfiddle demo

如果我使用left,该位置才有效。

编辑2:我不使用左侧位置的原因,因为如果我放大,会覆盖其他东西。任何提示,作为我的客人。

我缺少什么?

3 个答案:

答案 0 :(得分:3)

这是因为当你拖动div时$.draggable()设置left,并且在你调用$.draggable('destroy')之后它会保持设置

只需使用left: auto; http://jsfiddle.net/9uLCY/7/

重置左侧
$('div').draggable();
$('#button').click(function(){
   $('div').draggable('destroy').css({
        top: 0,
        left: 'auto',
        right: 0
    });
});

答案 1 :(得分:1)

因为可拖动元素上仍有一个“left”值,它优先于“right”值。您需要“取消设置”左侧值

答案 2 :(得分:0)

首先将左侧位置重置为auto,因为可拖动方法仍有左侧位置,然后设置正确的位置。