jQuery . dequeue( element[, queueName] )

jQuery API の jQuery . dequeue( element[, queueName] ) は、elementに指定した要素のqueueNameのキューの次の関数を実行するメソッド。

dequeue( [queueName] ) メソッドを使った方が便利なことが多い。

引数

element

DOM要素。

queueName

オプション。

キュー名を指定できる。

標準のエフェクト・キューの名前は、「fx」。

記述方法

jQuery . dequeue( DOM要素, キュー名 )

「DOM要素」に指定した要素の「キュー名」のキューの次の関数を実行する。

記述例

jQuery . dequeue( document.getElementById( 'sample' ) );

idが「sample」の要素のキューの次の関数を実行する。

実装例(サンプル)

Queue Length:

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

  • 「action」ボタンをクリックすると、
    1. オレンジ色のブロックの幅が200pxから50pxへアニメーション変化。
    2. オレンジ色のブロックの幅が50pxから200pxへアニメーション変化。
    3. ブロックの背景色がピンク色に変化。
    4. 高さが50pxから200pxへアニメーション変化。
    5. ブロックの背景色がオレンジ色に変化。
  • アニメーション中に、「キューを空にする」ボタンをクリックすると、キューを空にする。実行中のアニメーションが終わり次第、停止し、残りのアニメーションは実行しない。「Queue Length: 」の右横の数字は、「0」になる。
  • 「action」ボタンを何度かクリックすると、アニメーションがキューに蓄積されるので、「Queue Length: 」の右横の数字も増える。

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

JavaScript

<script type="text/javascript">
<!--
jQuery( function() {
    function queueLength(){
        jQuery( '#jquery-api-queue-length' ) . text(
            jQuery . queue( document.getElementById( 'jquery-api-animate' ) ) . length
        );
    };
    jQuery( '#jquery-api-animate-click-2' ) . click( function() {
        jQuery . queue( document.getElementById( 'jquery-api-animate' ), 'fx', [] );
    } );
    jQuery( '#jquery-api-animate-click' ) . click( function() {
        jQuery( '#jquery-api-animate' )
            . animate(
                {
                    width: 50,
                    height: 50,
                },
                {
                    duration: 1000,
                    complete: queueLength
                }
            )
            . animate(
                {
                    width: 200,
                },
                {
                    duration: 2000,
                    complete: queueLength
                }
            );
        jQuery . queue( document.getElementById( 'jquery-api-animate' ), 'fx', function() {
                jQuery( this ) . css( { backgroundColor: 'pink' } );
                jQuery . dequeue( this, 'fx' );
            } );
        jQuery( '#jquery-api-animate' )
            . animate(
                {
                    height: 200,
                },
                {
                    duration: 2000,
                    complete: queueLength
                }
            );
        jQuery . queue( document.getElementById( 'jquery-api-animate' ), 'fx', function() {
                jQuery( this ) . css( { backgroundColor: 'orange' } );
                jQuery . dequeue( this, 'fx' );
            } );
    } );
} );
// -->
</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-click">action</button>
    <button id="jquery-api-animate-click-2">キューを空にする</button>
</p>
<p>
    Queue Length: <span id="jquery-api-queue-length"></span>
</p>
<div id="jquery-api-animate"></div>

スポンサード リンク

カテゴリー: API, JavaScript, jQuery, Utilities, データ タグ: パーマリンク