2011-06-18 13 views
1

(動画はありません:きれいに見えます)http://jsfiddle.net/nicktheandroid/4QaZD/Jquery:スクリプトの中で自分自身と矛盾しているのはなぜですか?

その一覧が表示されます。各LIには隠れた単語リストが含まれています。それらの隠れ単語の1つを入力すると、その親(LI)が表示されます。 slideUp/slideDownやFadeIn/FadeOutアニメーションが付いていなくてもうまく動作しますが、アニメーションを追加すると、slideDownは本当にすばやく動きますので、どういうわけか私はスクリプト内で自分自身と矛盾していますか?私はこれを理解しようと多くの時間を費やしてきました。私の脳は詰まっています。誰かが間違っていることを私に知らせることはできますか?私はちょうど私が見ることができない明らかな何かになると確信しています。私がしようとしているのは、即座にhide/showの代わりにslideUp/Downを使用することだけです。

この第二jsfiddleでは、私は.slideDown(400).removeClass("hidden")を交換してきましたし、.slideUp(400)

.addClass("hidden")を置き換え(アニメーション:問題)http://jsfiddle.net/nicktheandroid/4Lcx3/

それは3つの文字が入力されるまでフィルタリングするために開始されません。

+0

ニック、私は、fiddlesをロードすると、私はエラーが表示されます: '$ .tinysortは未定義です'。管理対象リソースにTinySortを追加したのがわかります。あなたは見てみることができますか?ありがとう。 – Polaris878

答えて

2

すべてのキーストロークでアニメーションキューに新しいエフェクトを追加しています。フィルタリングの仕方が常に変化し、以前のキューが終了する前にキューにエフェクトが追加されます。

キューにアイテムを追加する前に、キューに入れられているアイテムの前に、stop(true,true)でクリアする必要があります。

例:http://jsfiddle.net/niklasvh/HWnaT/

あなたは、彼らが以前のKeyDownイベントの前にあったようにマッチした結果が同じであれば、何もして回避するために、いくつかのロジックを追加することもできます。

+0

どうもありがとう、私はそれを忘れてしまったのか分かりません。 –

関連する問題