jQuery API の fadeOut( duration, easing ) は、指定した要素が表示されている場合、その要素を、duration に指定した速度のフェードアウトで、easing に指定したイージング関数名の動作パターンのアニメーションで非表示にするメソッド。
記述方法
「セレクター」の要素が表示されている場合、「セレクター」の要素を、「速度」に指定した速度で、「イージング関数名」で指定したアニメーション動作パターンのフェードアウトで非表示にする。
「速度」は、ミリ秒単位の数字、もしくは、'slow'、'normal'、'fast' の文字列で指定できる。
「イージング関数名」は、'linear'、'swing' の文字列で指定できる。イージング関数は、加速度を加味したような動作パターン。jQuery にデフォルトで用意されているのは、linear と swing のシンプルな動作パターンだけだが、jQuery Easing Plugin などの jQuery プラグインを導入することで、使える動作パターンを増やすことができる。
実装例(サンプル)
fadeOut( 2000, 'swing' ) / fadeIn( 2000, 'swing' ) ボタンをクリックすると:
フェードインの2秒間のアニメーションで表示
もしくは、
フェードアウトの2秒間のアニメーションで非表示
イージング関数名は、'swing'
fadeOut( 'fast', 'swing' ) / fadeIn( 'fast', 'swing' ) ボタンをクリックすると:
フェードインの速いアニメーションで表示
もしくは、
フェードアウトの速いアニメーションで非表示
イージング関数名は、'swing'
実装例(サンプル)の動作について
「 fadeOut( 2000, 'swing' ) / fadeIn( 2000, 'swing' ) 」ボタンをクリックすると、「fadeOut( 2000, 'swing' ) / fadeIn( 2000, 'swing' ) ボタンをクリックすると: 」の下の黄色のボックスを、2秒間のフェードアウトのアニメーションで非表示にする。「 fadeOut( 2000, 'swing' ) / fadeIn( 2000, 'swing' ) 」ボタンを再度クリックすると、黄色のボックスを、2秒間のフェードインのアニメーションで表示する。
「 fadeOut( 'fast', 'swing' ) / fadeIn( 'fast', 'swing' ) 」ボタンをクリックすると、「fadeOut( 'fast', 'swing' ) / fadeIn( 'fast', 'swing' ) ボタンをクリックすると: 」の下の黄色のボックスを、速いフェードアウトのアニメーションで非表示にする。「 fadeOut( 'fast', 'swing' ) / fadeIn( 'fast', 'swing' ) 」ボタンを再度クリックすると、黄色のボックスを、速いフェードインのアニメーションで表示する。
アニメーション動作は、何れも、'swing'。
実装例(サンプル)のソースコード
JavaScript
<!--
jQuery( function() {
jQuery( '#jquery-api-fadeOut' ) . click( function() {
if ( jQuery( '#jquery-api-fadeOut-contents' ) . is( ':hidden' ) ) {
jQuery( '#jquery-api-fadeOut-contents' ) . fadeIn( 2000, 'swing' );
} else {
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' );
} else {
jQuery( '#jquery-api-fadeOut-fast-contents' ) . fadeOut( 'fast', 'swing' );
}
} );
} );
// -->
</script>
CSS
<!--
#jquery-api-fadeOut-contents,
#jquery-api-fadeOut-fast-contents {
padding: 10px;
width: 400px;
color: red;
background-color: yellow;
border: 1px solid gray;
border-radius: 10px;
}
-->
</style>
HTML
<p>fadeOut( 2000, 'swing' ) / fadeIn( 2000, 'swing' ) ボタンをクリックすると:</p>
<div id="jquery-api-fadeOut-contents">
<p>フェードインの2秒間のアニメーションで表示</p>
<p>もしくは、</p>
<p>フェードアウトの2秒間のアニメーションで非表示</p>
<p>イージング関数名は、'swing'</p>
</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>
<p>もしくは、</p>
<p>フェードアウトの速いアニメーションで非表示</p>
<p>イージング関数名は、'swing'</p>
</div>