jQuery UI保存可拖动元素的位置

时间:2016-08-03 16:39:01

标签: jquery jquery-ui jquery-ui-draggable

有没有办法保存可拖动元素的初始位置,在拖动结束时确定位置,然后将元素返回到初始位置?

1 个答案:

答案 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;
&#13;
&#13;