fadeOut( duration, easing, callback )

jQuery API の fadeOut( duration, easing, callback ) は、指定した要素が表示されている場合、その要素を、duration に指定した速度で、easing に指定したイージング関数名の動作パターンのフェードアウトのアニメーションで非表示にし、その後、callback に指定した関数を実行するメソッド。

記述方法

jQuery( セレクター ) . fadeOut( 速度, イージング関数名, コールバック関数 );

「セレクター」の要素が表示されている場合、「セレクター」の要素を、「速度」に指定した速度で、「イージング関数名」で指定したアニメーション動作パターンのフェードアウトで非表示にし、その後、「コールバック関数」に指定した関数を実行する。

「速度」は、ミリ秒単位の数字、もしくは、'slow'、'normal'、'fast' の文字列で指定できる。

「イージング関数名」は、'linear'、'swing' の文字列で指定できる。イージング関数は、加速度を加味したような動作パターン。jQuery にデフォルトで用意されているのは、linear と swing のシンプルな動作パターンだけだが、jQuery Easing Plugin などの jQuery プラグインを導入することで、使える動作パターンを増やすことができる。

実装例(サンプル)

fadeOut( 2000, 'swing' ) / fadeIn( 2000, 'swing' ) ボタンをクリックすると:

fadeOut( 'fast', 'swing' ) / fadeIn( 'fast', 'swing' ) ボタンをクリックすると:

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

  • 「 fadeOut( 2000, ‘swing’ ) / fadeIn( 2000, ‘swing’ ) 」ボタンをクリックすると、赤色のボックスを、2秒間のフェードアウトのアニメーションで非表示にし、その後、青色のボックスを、2秒間のフェードアウトのアニメーションで非表示にする。
  • 「 fadeOut( 2000, ‘swing’ ) / fadeIn( 2000, ‘swing’ ) 」ボタンを再度クリックすると、「fadeOut( 2000, ‘swing’ ) / fadeIn( 2000, ‘swing’ ) ボタンをクリックすると: 」の下に青色のボックスを、2秒間のフェードインのアニメーションで表示し、その後、赤色のボックスを、2秒間のフェードインのアニメーションで表示する。
  • 「 fadeOut( 'fast', 'swing' ) / fadeIn( 'fast', 'swing' ) 」ボタンをクリックすると、赤色のボックスを、速いフェードアウトのアニメーションで非表示にし、その後、青色のボックスを、速いフェードアウトのアニメーションで非表示にする。
  • 「 fadeOut( 'fast', 'swing' ) / fadeIn( 'fast', 'swing' ) 」ボタンを再度クリックすると、「fadeOut( 'fast', 'swing' ) / fadeIn( 'fast', 'swing' ) ボタンをクリックすると: 」の下に青色のボックスを、速いフェードインのアニメーションで表示し、その後、赤色のボックスを、速いフェードインのアニメーションで表示する。
  • アニメーション動作パターンは、何れも、'swing'。

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

JavaScript

<script>
<!--
jQuery( function() {
    jQuery( '#jquery-api-fadeOut' ) . click( function() {
        if ( jQuery( '#jquery-api-fadeOut-contents' ) . is( ':hidden' ) ) {
            jQuery( '#jquery-api-fadeOut-contents' ) . fadeIn(
                2000,
                'swing',
                function() {
                    jQuery( '#jquery-api-fadeOut-contents-2' ) . fadeIn( 2000, 'swing' );
                }
            );
        } else {
            jQuery( '#jquery-api-fadeOut-contents-2' ) . fadeOut(
                2000,
                'swing',
                function() {
                    jQuery( '#jquery-api-fadeOut-contents' ) . fadeOut( 2000, 'swing' );
                }
            );
        }
    } );
    jQuery( '#jquery-api-fadeOut-fast' ) . click( function() {
        if ( jQuery( '#jquery-api-fadeOut-fast-contents' ) . is( ':hidden' ) ) {
            jQuery( '#jquery-api-fadeOut-fast-contents' ) . fadeIn(
                'fast',
                'swing',
                function() {
                    jQuery( '#jquery-api-fadeOut-fast-contents-2' ) . fadeIn( 'fast', 'swing' );
                }
            );
        } else {
            jQuery( '#jquery-api-fadeOut-fast-contents-2' ) . fadeOut(
                'fast',
                'swing',
                function() {
                    jQuery( '#jquery-api-fadeOut-fast-contents' ) . fadeOut( 'fast', 'swing' );
                }
            );
        }
    } );
} );
// -->
</script>

CSS

<style>
<!--
#jquery-api-fadeOut-contents,
#jquery-api-fadeOut-contents-2,
#jquery-api-fadeOut-fast-contents,
#jquery-api-fadeOut-fast-contents-2 {
    float: left;
    padding: 10px;
    width: 200px;
    text-align: center;
    color: white;
    border: 1px solid gray;
    border-radius: 10px;
}
#jquery-api-fadeOut-contents,
#jquery-api-fadeOut-fast-contents {
    background-color: blue;
}
#jquery-api-fadeOut-contents-2,
#jquery-api-fadeOut-fast-contents-2 {
    background-color: red;
}
-->
</style>

HTML

<p><button id="jquery-api-fadeOut">fadeOut( 2000, 'swing' ) / fadeIn( 2000, 'swing' )</button></p>
<p>fadeOut( 2000, 'swing' ) / fadeIn( 2000, 'swing' ) ボタンをクリックすると:</p>
<div id="jquery-api-fadeOut-contents">
    <p></p>
</div>
<div id="jquery-api-fadeOut-contents-2">
    <p></p>
</div>
<div style="clear:left;"></div>
<p><button id="jquery-api-fadeOut-fast">fadeOut( 'fast', 'swing' ) / fadeIn( 'fast', 'swing' )</button></p>
<p>fadeOut( 'fast', 'swing' ) / fadeIn( 'fast', 'swing' ) ボタンをクリックすると:</p>
<div id="jquery-api-fadeOut-fast-contents">
    <p></p>
</div>
<div id="jquery-api-fadeOut-fast-contents-2">
    <p></p>
</div>
<div style="clear:left;"></div>

スポンサード リンク

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