)ver1.9〜機能jQueryオブジェクトで指定した要素のアニメーションをすべて終了し最終的な目的地に移動します。引数にキューの名前を指定して、特定のキューを操作する事ができます。stopメソッドと似ており「アニメが1つの時」はstopメソッドで第2引数(ゴールに移動)をtrueにした時と同じ動作になります。サンプル(finish/01.html)を開いてbodyの構成にdiv要素とbutton要素が2つ(id属性がstartとstop)あることを確認してください。jQueryは以下の様に記述され、まずid属性がstartのbuttonがクリックされたらアニメを実行します。3000);});$("button#stop").click(function(){$("div").stop(false,true);});実際にstartボタンをクリックして、アニメが終わる前にstopボタンをクリックしてください。stopメソッドの第2引数がtrueになっているため、アニメを停止してゴールに移動します。アニメが1つの場合はfinishメソッドも同じ動作になります。サンプル(finish/01b.html)を開いてbodyの構成がstopボタンの代わりにfinsihボタンになっていることを確認して下さい。jQueryは以下の様にstopメソッドの代わりにfinshメソッドが利用されています。$("button#finish").click(function(){$("div").finish();});finish/01.htmlと同じようにstartボタンをクリックして、アニメが終わる前にfinishボタンをクリックしてください。同じように停止してゴールに移動します。finishメソッドが、どのようにstopメソッドと異なるかを次項で確認します。複数のアニメをまとめて停止するfinishメソッドの真骨頂は複数のアニメをまとめて終了することです。サンプル(finish/02.html)を開いてbody内の構成はfinish/01b.htmlと同じ事を確認して下さい。jQueryでは、まず以下のstartボタンをクリックした時の処理を確認して下さい。アニメが3つ登録されています。実際にstartボタンをクリックして3つのアニメが順に再生されることを確認して下さい。1000);});finishボタンの処理は以下の様にfinish/01b.htmlから変更はありません。$("button#finish").click(function(){$("div").finish();});ではサンプル(finish/02.html)をリロードして元の状態に戻し、もう一度startボタンをクリックしてください。最初のアニメが終わる前にfinishボタンをクリックして下さい。すべてのアニメが終了し、最終的なゴールに移動します。stopメソッドを利用したサンプルを用意しました。サンプル(finish/02b.html)を開いてstopボタンの処理が以下の様に変更されているのを確認して下さい。$("button#stop").click(function(){$("div").stop(true,true);});stopメソッドの2つの引数にtrueを設定しています。同じように最初のアニメが終わる前にstopボタンをクリックすると目的地に移動しますが、最初のアニメの目的地で、最終的なゴールではありません。stopメソッドは「現在のアニメ」に対してしか処理しないのです。ついでにstopメソッドの引数を(false,true)にしたサンプル(finish/02c.html)も用意しました。このサンプルでは、現在のアニメだけを停止し、残りのアニメは通常通りに実行されます。本家サイトのサンプル(最下段)でfinishメソッドと様々な設定のstopメソッドを比較できるので確認してみて下さい。queueメソッドで追加した処理は無視するようです。サンプル(finish/test01.html)を開いてjQueryが以下の様に変更されているのを確認して下さい。queueメソッドで追加した処理です。このサンプルでは背景色をピンクにしてから左に移動するようにしています。queueメソッドで詳しくしています。このサンプルにもfinishボタンが付いているので、最初のアニメが終わる前にクリックして下さい。2,3行目の処理は実行されますが、queueメソッドで追加した処理は実行されません。ついでにもう1つサンプルを作成しました。サンプルfinish/test01b.html)では下記のようにqueueメソッド内のアニメを外に出してみました。1000);});結果として、queueメソッドの外に出した8行目の処理はfinishメソッドによって終了されます。queueメソッドで追加した処理はfinishメソッドでは処理されないようです。