我有一个输入框,然后使用seekTo
上的可滚动keyup
方法转到特定幻灯片。问题是,如果某人快速输入,则可滚动的队列会变大,并且动画停止需要一段时间。
我想要的是keyup
前一个动画停止(除非输入为空)并且新动画开始。我试过把.stop()
放在不同的地方,但似乎没什么用。
这是一个类似于我正在做的事情的小提琴:http://jsfiddle.net/QaMZH/
在框中输入一个数字(例如:1)然后将其更改为另一个数字(例如:2)会将可滚动设置为该幻灯片编号的动画,但是快速更改数字会排出一堆可能需要一段时间的动画光洁度。
答案 0 :(得分: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()
。