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

时间:2012-07-27 08:39:41

标签: javascript jquery html css jquery-ui

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

  1. 使用$('#draggableElement').css('left')$('#draggableElement').css('top')

  2. 获取拖动开始时可拖动div的坐标
  3. 在拖动完成后,使用jQuery .animate将其重新放回原位。

  4. 这个策略是否正确?或者我可以做些什么更有效的事情?

2 个答案:

答案 0 :(得分:2)

查看this

也许是jquery ui draggable选项的助手 - >帮手。

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

答案 1 :(得分:2)

您需要设置revert: 'invalid'

示例:

$( "#draggablediv" ).draggable({helper : "clone", revert: "invalid" });
当您尝试拖动它时,helper:clone会生成一个克隆,当您在revert: "invalid"将克隆返回到其起始位置的区域中放下它时。

如果您希望可拖动人员返回其位置,请使用revert: "true"

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