jQuery API の toggle( duration, easing ) は、duration に指定した速度で、easing に指定したイージング関数名のアニメーションで、指定した要素の表示・非表示を切り替えるメソッド。
記述方法
jQuery( セレクター ) . toggle( 速度, イージング関数名 );
「セレクター」の要素が非表示の場合、「セレクター」の要素を、「速度」に指定した速度の「イージング関数名」で指定したアニメーションで表示する。
「セレクター」の要素が表示されている場合、「セレクター」の要素を、「速度」に指定した速度の「イージング関数名」で指定したアニメーションで非表示にする。
「速度」は、ミリ秒単位の数字、もしくは、'slow'、'normal'、'fast' の文字列で指定できる。
「イージング関数名」は、'linear'、'swing' の文字列で指定できる。イージング関数は、加速度を加味したような動作パターン。jQuery にデフォルトで用意されているのは、linear と swing のシンプルな動作パターンだけだが、jQuery Easing Plugin などの jQuery プラグインを導入することで、使える動作パターンを増やすことができる。
実装例(サンプル)
toggle( duration, easing ) ボタンをクリックすると:
2秒間のアニメーションで表示/非表示切替
実装例(サンプル)の動作について
- 「 toggle( duration, easing ) 」ボタンをクリックすると、「toggle( duration, easing ) ボタンをクリックすると: 」の下側に、「2秒間のアニメーションで表示/非表示切替」という赤色のテキストを、2秒間のアニメーションで表示する。
- 「 toggle( duration, easing ) 」ボタンを再度クリックすると、「toggle( duration, easing ) ボタンをクリックすると: 」の下側の「2秒間のアニメーションで表示/非表示切替」という赤色のテキストを、2秒間のアニメーションで非表示にする。
実装例(サンプル)のソースコード
JavaScript
<script>
<!--
jQuery( function() {
jQuery( '#jquery-api-toggle' ) . click( function() {
jQuery( '#jquery-api-toggle-contents' ) . toggle( 2000, 'swing' );
} );
} );
// -->
</script>
<!--
jQuery( function() {
jQuery( '#jquery-api-toggle' ) . click( function() {
jQuery( '#jquery-api-toggle-contents' ) . toggle( 2000, 'swing' );
} );
} );
// -->
</script>
CSS
<style>
<!--
#jquery-api-toggle-contents {
display: none;
padding: 10px;
width: 400px;
background-color: lightblue;
text-align: center;
color: red;
}
-->
</style>
<!--
#jquery-api-toggle-contents {
display: none;
padding: 10px;
width: 400px;
background-color: lightblue;
text-align: center;
color: red;
}
-->
</style>
HTML
<p><button id="jquery-api-toggle">toggle( duration, easing )</button></p>
<p>toggle( duration, easing ) ボタンをクリックすると:</p>
<p id="jquery-api-toggle-contents">2秒間のアニメーションで表示/非表示切替</p>
<p>toggle( duration, easing ) ボタンをクリックすると:</p>
<p id="jquery-api-toggle-contents">2秒間のアニメーションで表示/非表示切替</p>