2013-04-22 169 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()