0

我有一个接受输入的框,然后使用可滚动的seekTo方法keyup转到特定幻灯片。问题是,如果有人快速键入,则可滚动的队列会很大,并且动画需要一段时间才能停止。

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

这是类似于我正在做的事情的小提琴:http: //jsfiddle.net/QaMZH/

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

4

1 回答 1

1

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

事实证明,您需要做的就是在此之前调用它.seekTo()

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

wheregetItemWrap()返回动画发生的目标 jQuery 元素。

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

这是有效的,因为.seekTo()方法调用.animation()元素上的 jQuery 方法,并且您可以随时取消 jQuery 动画.stop()

于 2013-12-04T11:13:22.987 回答