2017-10-26 2 views
0

jqueryUIでコールバックを使用して、次のアニメーションが前のアニメーションの最後に開始するようにしています。私はこれらの2つの非常に類似したコールバックが異なる結果につながる理由なぜこれらの2つのjqueryUIコールバックは異なる動作をしますか?

を理解しようとしているこれらの2つの異なる構文です:

//First callback 
$(".main-container").switchClass("col", "col-9", addElements()); 

//Second Callback 
$(".main-container").switchClass("col", "col-9", function(){ 
    addElements(); 
}); 

私はCOL-9クラスに、ブートストラップ、したがって、COLを使用していますスイッチ。最初のコールバックでは、アニメーションの進行中にmain-containerに追加された要素が追加されて表示され、colcol-9に拡張された後に2番目のコールバックで表示されます。

なぜ違いがありますか?

答えて

1

あなたは自分で違いを説明しました。最初の操作は、操作が完了すると呼び出される関数を定義することです。つまり、colはcol9に変更されます。 1つのcolをcol9に変更して要素を追加した後に呼び出されます。

2つ目は匿名関数を使って定義されているため、メインコンテナ内のすべての単一のcolに対してswitchClassが呼び出された後にのみ呼び出されます。

これらは同じように見えるかもしれません。つまり、addElements()を呼び出すコールバックですが、実際に気付いたように、実際にはそうではありません。最初は、各変換後にaddElements関数を呼び出していますが、2番目のaddElementsはコールバック内で呼び出され、すべての変換が発生した後にのみ呼び出されます。

関連する問題