1

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

例子;

  1. 如果我向上/向下拖动操纵杆并按住,则 div 不应停止移动。只有当我松开操纵杆时它才会停止。我怎样才能做到这一点?我试过添加这个:

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

  2. 以及如何停止事件排队?

有什么建议么?或者谁能​​指出我哪里出错了?谢谢。

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

4

1 回答 1

3

You'll need to use .clearQueue.

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

Each drag is queueing up more animations so they go one after another. The fast keyword for speed is 200ms, so the longer it adds up, the longer this will go since stop only stops the current animation.

UPDATE:

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

Moving some of the functionality outside the drag stuff.

于 2013-08-02T18:30:30.157 回答