我正在尝试使用jQuery UI拖放div后对其进行动画处理。我按照jQuery UI docs()使用'stop'事件。
但是,我真的很难获得已被删除的对象以便能够为其设置动画。这是我目前所处的位置,虽然我已经尝试了几件似乎不起作用的事情:
$('.item').draggable({
stop: function (event, ui) {
$(ui.draggable).animate({ bottom: 0 }, { duration: 1000, easing: 'easeOutBounce' });
}
});
这是使用jQuery 1.9.0和jQuery UI 1.10.0。
我确信这一定很简单 - 我无法让它发挥作用。
答案 0 :(得分:1)
两个问题,这是固定代码:
$('.item').draggable({
stop: function (event, ui) {
$(this).animate({ "top": "0px" }, { duration: 1000, easing: 'easeOutBounce' });
}
});
首先 - ui.draggable实际上没有选择任何东西,并且返回undefined。已更改为this
以影响已拖动的元素。
此外,jQuery没有读取CSS属性bottom
。你必须以某种方式使用top
来达到你想要的效果。以同样的方式,left
会起作用,但right
不会。
答案 1 :(得分:0)
将ui.draggable
(什么都不是)更改为this
,它会影响拖动的div。请注意,动画可能不会发生,具体取决于您的布局,但我可以使用它:
由于可拖动本身会更改top
,因此bottom: 0
单独无效。