2013-04-22 113 views
0

我有一个需要输入的框,然后使用keyup上的滚动条seekTo方法转到特定的幻灯片。问题是,如果某人快速键入,滚动会得到一个大队列,停止动画需要一段时间。JQuery Tools可滚动 - 停止动画?

我想要的是keyup先前的动画停止(除非输入为空)并且新动画开始。我试过在各个地方放.stop(),但似乎没有任何效果。

这里是一个类似于我在做什么东西拨弄:http://jsfiddle.net/QaMZH/

在框中放置一个号码(例如:1),然后将其更改为另一个号码(例如:2)将动画滚动到该幻灯片编号,但更改数字快速排队一堆动画,可能需要一段时间才能完成。

回答

1

我有同样的问题,并在搜索更详细的文档和失败后,我只是深入到代码。

事实证明,所有你需要做的是.seekTo()之前调用此:

api.getItemWrap().stop(true, false); 
api.seekTo($(this).val(), 1000); 

其中getItemWrap()返回其中动画进行目标的jQuery元素。

请参阅http://jsfiddle.net/QaMZH/4/修改后的版本是如何工作的。

这是可行的,因为.seekTo()方法调用元素上的jQuery .animation()方法,您可以cancel jQuery animations any time with .stop()