动画jQuery UI可拖动元素回到起始位置

问题描述:

我有一个元素,让我们说一个div,我想能够拖放到另一个div。如果元素没有被拖入另一个div,我希望它回到它的初始位置。可拖动的div相对定位。所以,我的问题是最好的方法是什么? jQuery UI中有没有一种方法可以让它回放?或者我将不得不编写它?如果我这样做,这是我的策略:动画jQuery UI可拖动元素回到起始位置

  1. 获得使用$('#draggableElement').css('left')拖动开始时的可拖动DIV的坐标,$('#draggableElement').css('top')

  2. 上拖动完整的使用jQuery的.animate把它放回原处。

该策略是否正确?还是有更高效率的我可以做的?

+3

http://jqueryui.com/demos/droppable/#revert – 2012-07-27 08:43:30

+0

你可以尝试使用WebKit的这种东西,但上面的评论回答你的问题! – Shouvik 2012-07-27 08:43:34

+0

谢谢瑞恩,上次我检查时,我可以发誓不在那里! – 2012-07-27 09:19:42

看一看this

,也许一个jQuery ui draggable选项的帮手 - >帮手。

我认为这应该对你有帮助。如果没有,请说明你的问题。

+0

辅助对象是什么?无法从文档中找出 – 2012-07-27 09:41:13

+0

助手是被拖动的对象。这意味着你可以修改跟在鼠标后面的html元素。查看http://jqueryui.com/demos/draggable/#visual-feedback了解不同的帮助器样式。 – p0wl 2012-07-28 11:00:42

您需要设置revert: 'invalid'

例如:

$("#draggablediv").draggable({helper : "clone", revert: "invalid" }); 

helper:clone使得克隆当您尝试拖动它,当你不放弃它在该地区的revert: "invalid"返回克隆他的开始位置。

如果你想回到自己的位置上dragable使用revert: "true"

请参阅http://api.jqueryui.com/draggable/#option-revert