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

问题描述 投票:0回答:3

我正在尝试做什么:

将 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 演示

只有当我使用

left
时,该位置才有效。

我不使用左侧位置的原因是,如果我放大,会覆盖其他东西。有什么建议,请成为我的客人。

我缺少什么?

javascript jquery position draggable
3个回答
4
投票

这是因为

$.draggable()
在您拖动 div 时设置
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
投票

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


0
投票

首先将左侧位置重置为

auto
,因为通过拖动方式仍然有左侧位置,然后设置右侧位置。

© www.soinside.com 2019 - 2024. All rights reserved.