finish( [queueName] )

jQuery API の finish( [queueName] ) は、マッチした要素における、引数「queueName」に指定した名前のキューの全てのアニメーションを、途中で停止し、全てのアニメーションが完了した状態にするメソッド。

記述方法(構文)

キュー指定なし

jQuery( セレクター ) . finish();

「セレクター」にマッチした要素における、デフォルトのエフェクトキューの全てのアニメーションを、途中で停止し、全てのアニメーションが完了した状態にする。

キューを指定

jQuery( セレクター ) . finish( キュー名 );

「セレクター」にマッチした要素における、引数「キュー名」に指定した名前のキューの全てのアニメーションを、途中で停止し、全てのアニメーションが完了した状態にする。

引数

queueName / キュー名

オプション。

対象キューの名前の文字列を指定できる。指定がない場合、デフォルトのエフェクトキューを対象とする。

実装例(サンプル)

実装例(サンプル)について

「finish()」と「stop( true, true )」の違いに注目。

実装例(サンプル)の動作について

  • 「action」ボタンをクリックすると、オレンジ色のブロックの幅が50pxから200pxへアニメーション変化し、次に、高さが50pxから200pxへアニメーション変化する。
  • 「stop()」ボタンをクリックすると、現在実行中のアニメーションを停止し、次のアニメーションがあれば実行する。
  • 「stop( true, false )」ボタンをクリックすると、現在実行中のアニメーションを停止し、次のアニメーションがあっても実行しない。
  • 「stop( false, true )」ボタンをクリックすると、現在実行中のアニメーションを停止し、瞬時に、現在のアニメーションが完了した状態にし、次のアニメーションがあれば実行する。
  • 「stop( true, false )」ボタンをクリックすると、現在実行中のアニメーションを停止し、瞬時に、現在のアニメーションが完了した状態にし、次のアニメーションがあっても実行しない。
  • 「finish()」ボタンをクリックすると、現在実行中のアニメーションを停止し、瞬時に、全てのアニメーションが完了した状態にする。

実装例(サンプル)のソースコード

JavaScript

<script type="text/javascript">
<!--
jQuery( function() {

    jQuery( '#jquery-api-animate-action' ) . click( function() {
        jQuery( '#jquery-api-animate' )
            . clearQueue()
            . stop()
            . css(
                {
                    width: 50,
                    height: 50,
                }
            )
            . animate(
                {
                    width: 200,
                },
                {
                    duration: 2000,
                }
            )
            . animate(
                {
                    height: 200,
                },
                {
                    duration: 2000,
                }
            );
    } );

    jQuery( '#jquery-api-stop' ) . click( function() {
            jQuery( '#jquery-api-animate' ) . stop();
    } );
    jQuery( '#jquery-api-stop-true-false' ) . click( function() {
            jQuery( '#jquery-api-animate' ) . stop( true, false );
    } );
    jQuery( '#jquery-api-stop-false-true' ) . click( function() {
            jQuery( '#jquery-api-animate' ) . stop( false, true );
    } );
    jQuery( '#jquery-api-stop-true-true' ) . click( function() {
            jQuery( '#jquery-api-animate' ) . stop( true, true );
    } );
    jQuery( '#jquery-api-finish' ) . click( function() {
            jQuery( '#jquery-api-animate' ) . finish();
    } );

} );
// -->
</script>

CSS

<style type="text/css">
<!--
div#jquery-api-animate {
    background-color: orange;
    height: 200px;
    width: 200px;
}
-->
</style>

HTML

<p><button id="jquery-api-animate-action">action</button></p>
<p><button id="jquery-api-stop">stop()</button></p>
<p><button id="jquery-api-stop-true-false">stop( true, false )</button></p>
<p><button id="jquery-api-stop-false-true">stop( false, true )</button></p>
<p><button id="jquery-api-stop-true-true">stop( true, true )</button></p>
<p><button id="jquery-api-finish">finish()</button></p>
<div id="jquery-api-animate"></div>

スポンサード リンク

カテゴリー: API, JavaScript, jQuery, エフェクト, カスタム タグ: パーマリンク