2

我正在尝试做什么:

将 div 设置为 draggable ,然后制作一个按钮以将其位置重置为默认值。

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

编辑:先拖动 div,然后单击按钮。

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

jsfiddle 演示

这个位置只有在我使用时才有效left

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

我错过了什么?

4

3 回答 3

4

这是因为在您拖动 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
    });
});
于 2012-07-25T19:28:10.997 回答
1

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

于 2012-07-25T19:26:48.823 回答
0

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

于 2012-07-25T19:28:39.980 回答