有没有办法保存可拖动元素的初始位置,在拖动结束时确定位置,然后将元素返回到初始位置?
答案 0 :(得分:1)
您可以使用stop
事件和originalPosition
参数的ui
值来获取原始位置。
获得原始位置后 - 您可以使用$(this).animate
将元素移动到该位置,其值为originalPosition
以下是一个例子:
$( ".drag" ).draggable({
stop: function( event, ui ) {
console.log(ui.originalPosition)
$(this).animate(ui.originalPosition)
}
});

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/jqueryui/1.10.0/css/smoothness/jquery-ui-1.10.0.custom.min.css" />
<script src="//cdnjs.cloudflare.com/ajax/libs/jqueryui/1.10.0/jquery-ui.js"></script>
<div style="width: 50px; height: 50px; border: 1px solid red;" class="drag"> Drag Me! </div>
<div style="width: 50px; height: 50px; border: 1px solid green;" class="drag"> Drag Me! </div>
&#13;