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