这是一个场景:我正在尝试使用jquery draggable()来实现操纵杆,并且基于操纵杆的y坐标,我将向左或向右移动div(如果y为正,则移动到正确;否则如果y为负,则向左移动)。我已经完成了这部分,但我的问题是何时停止动画。
示例;
如果我向上/向下拖动操纵杆并按住,则div不应停止移动。它应该只在我释放操纵杆时停止。我怎么能实现这个目标?我试过添加这个:
stop: function(){ $(div).stop() } //should stop animation
如何停止排队?
有什么建议吗?还是有人可以指出我哪里出错了?感谢。
我在这里创造了一个小提琴:http://jsfiddle.net/j3toxicat3d/cKd8k/2/
答案 0 :(得分:3)
您需要使用.clearQueue
。
stop: function(){ $(div).clearQueue() }
每个拖动都会排队更多的动画,所以他们会一个接一个地去。速度为fast
的关键字为200毫秒,因此加起来的时间越长,此时间越长,因为stop
仅停止当前动画。
更新:
将一些功能移到拖拽之外。