19

今日、jQuery メソッドのオプションの新機能を読んでいたときに.animate()、同じアクションを持つと思われる 2 つのオプションに直面しました。

これらのオプションはdonecompleteです。ドキュメントによると、それらはアニメーションの完了時に実行される関数です。

complete
Type: Function()
A function to call once the animation is complete.

と :

done
Type: Function( Promise animation, Boolean jumpedToEnd )
A function to be called when the animation completes (its Promise object is resolved). (version added: 1.8)

今私の質問は、2つの違いは何ですか?

4

3 に答える 3

4

JQuery は promise を使用します。これは、JavaScript が完了した時点で promise から次の関数に移動できることを意味します。

go to foo と go to bar 関数を書いたとしましょう。JQuery は、最初の実行の完了に関係なく、最初の実行が開始された後に 2 番目の実行を開始します。

したがって、promise を実装すると、previous が完了するまで待機します。

最後に、あなたの場合、完了したら完了が呼び出されます:)。したがって、アニメーションが完了したら処理し、最初のトリックが完了したときに再びいくつかのトリックを実行する場合は、完了で記述します。

于 2015-02-06T10:25:33.257 に答える