如何从jQuery ui draggable获取位置x和y?

Unk*_*ror 4 jquery jquery-ui

这里有一个例子http://jsfiddle.net/naqbq/

我怎么抢的当前位置xy重新定位后的图像?

<input type="hidden" name="source_x" id="source_x" />
<input type="hidden" name="source_y" id="source_y" />
Run Code Online (Sandbox Code Playgroud)

mgi*_*nbr 10

stop回调中,您可以使用ui.helper访问拖动的元素.然后使用offset就像布拉德建议的那样:

$("#image").draggable({
    stop:function(event,ui) {
        var wrapper = $("#wrapper").offset();
        var borderLeft = parseInt($("#wrapper").css("border-left-width"),10);
        var borderTop = parseInt($("#wrapper").css("border-top-width"),10);
        var pos = ui.helper.offset();
        $("#source_x").val(pos.left - wrapper.left - borderLeft);
        $("#source_y").val(pos.top - wrapper.top - borderTop);
        alert($("#source_x").val() + "," + $("#source_y").val());
    }
});?
Run Code Online (Sandbox Code Playgroud)

然后,只需将其调整到您的包装器 - 减去其偏移量和边框的宽度 - 并将其设置为您的输入val.(对不起硬编码边框,但我无法使用它提取css)(编辑:它就是!在另一个问题中找到解决方案)

http://jsfiddle.net/mgibsonbr/naqbq/4/


Bra*_*rad 5

你可以使用jQuery .offset().

http://api.jquery.com/offset/

alert($('#image').offset().top);
alert($('#image').offset().left);
Run Code Online (Sandbox Code Playgroud)