3

我有一个元素,比如说一个 div,我希望能够拖放到另一个 div 中。如果元素没有被拖到另一个 div 中,我希望它动画回到它的初始位置。可拖动的 div 是相对定位的。所以,我的问题是最好的方法是什么?jQuery UI 中是否有一种方法可以让它返回动画?还是我必须写?如果我这样做,这是我的策略:

  1. 在开始拖动时获取可拖动 div 的坐标$('#draggableElement').css('left'),以及$('#draggableElement').css('top')

  2. 在拖动完成时,使用 jQuery .animate 将其放回原位。

这个策略正确吗?还是我可以做一些更有效的事情?

4

2 回答 2

2

看看这个

也许是 jquery ui 可拖动选项的助手-> 助手。

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

于 2012-07-27T08:44:41.473 回答
2

你需要设置revert: 'invalid'

例子:

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

helper:clone您尝试拖动它时会创建一个克隆,当您不将其放在该区域时,revert: "invalid"会将克隆返回到他的起始位置。

如果您希望可拖动对象返回他的位置,请使用revert: "true"

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

于 2013-08-17T13:59:15.820 回答