通过拖动另一个元素来动画元素

时间:2013-08-02 18:26:06

标签: jquery jquery-ui draggable

这是一个场景:我正在尝试使用jquery draggable()来实现操纵杆,并且基于操纵杆的y坐标,我将向左或向右移动div(如果y为正,则移动到正确;否则如果y为负,则向左移动)。我已经完成了这部分,但我的问题是何时停止动画。

示例;

  1. 如果我向上/向下拖动操纵杆并按住,则div不应停止移动。它应该只在我释放操纵杆时停止。我怎么能实现这个目标?我试过添加这个:

    stop: function(){ $(div).stop() } //should stop animation

  2. 如何停止排队?

  3. 有什么建议吗?还是有人可以指出我哪里出错了?感谢。

    我在这里创造了一个小提琴:http://jsfiddle.net/j3toxicat3d/cKd8k/2/

1 个答案:

答案 0 :(得分:3)

您需要使用.clearQueue

stop: function(){ $(div).clearQueue() }

每个拖动都会排队更多的动画,所以他们会一个接一个地去。速度为fast的关键字为200毫秒,因此加起来的时间越长,此时间越长,因为stop仅停止当前动画。

更新:

http://jsfiddle.net/cKd8k/3/

将一些功能移到拖拽之外。

相关问题