为可拖动对象设置位置,顶部和左侧

时间:2014-10-14 15:06:10

标签: javascript jquery css

我有一个可拖动的对象设置为position:relative但我需要将它从相对更改为绝对,只有当我拖动它时我希望对象保持在其初始空间中。 我试着设置"拖动"这样:

$('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");
    }
})

但它不起作用。

1 个答案:

答案 0 :(得分:1)

我认为您需要.offset().left.offset().top

你能否详细说明“无法正常工作”(控制台出错?发生了什么?元素如何定位?)

$('obj')定位<obj>代码,您确定您的元素定位良好吗?

也许您尝试做类似的事情:http://jsfiddle.net/KyleKatarn/awjh79uw/1/