jQuery API の slideToggle( duration ) は、指定した要素が非表示の場合、その要素を、duration に指定した速度のスライドダウンのアニメーションで表示し、指定した要素が表示されている場合、その要素を、duration に指定した速度のスライドアップのアニメーションで非表示にするメソッド。
記述方法
「セレクター」の要素が非表示の場合、「セレクター」の要素を、「速度」に指定した速度のスライドダウンのアニメーションで表示する。
「セレクター」の要素が表示されている場合、「セレクター」の要素を、「速度」に指定した速度のスライドアップのアニメーションで非表示にする。
「速度」は、ミリ秒単位の数字、もしくは、'slow'、'normal'、'fast' の文字列で指定できる。
実装例(サンプル)
slideToggle( 2000 ) ボタンをクリックすると:
スライドダウンの2秒間のアニメーションで表示
もしくは、
スライドアップの2秒間のアニメーションで非表示
slideToggle( 'fast' ) ボタンをクリックすると:
スライドダウンの速いアニメーションで表示
もしくは、
スライドアップの速いアニメーションで非表示
実装例(サンプル)の動作について
「 slideToggle( 2000 ) 」ボタンをクリックすると、「slideToggle( 2000 ) ボタンをクリックすると: 」の下に黄色のボックスを、2秒間のスライドダウンのアニメーションで表示する。「 slideToggle( 2000 ) 」ボタンを再度クリックすると、黄色のボックスを、2秒間のスライドアップのアニメーションで非表示にする。
「 slideToggle( 'fast' ) 」ボタンをクリックすると、「slideToggle( 'fast' ) ボタンをクリックすると: 」の下に黄色のボックスを、速いスライドダウンのアニメーションで表示する。「 slideToggle( 'fast' ) 」ボタンを再度クリックすると、黄色のボックスを、速いスライドアップのアニメーションで非表示にする。
実装例(サンプル)のソースコード
JavaScript
<!--
jQuery( function() {
jQuery( '#jquery-api-slideToggle' ) . click( function() {
jQuery( '#jquery-api-slideToggle-contents' ) . slideToggle( 2000 );
} );
jQuery( '#jquery-api-slideToggle-fast' ) . click( function() {
jQuery( '#jquery-api-slideToggle-fast-contents' ) . slideToggle( 'fast' );
} );
} );
// -->
</script>
CSS
<!--
#jquery-api-slideToggle-contents,
#jquery-api-slideToggle-fast-contents {
display: none;
padding: 10px;
width: 400px;
color: red;
background-color: yellow;
border: 1px solid gray;
border-radius: 10px;
}
-->
</style>
HTML
<p>slideToggle( 2000 ) ボタンをクリックすると:</p>
<div id="jquery-api-slideToggle-contents">
<p>スライドダウンの2秒間のアニメーションで表示</p>
<p>もしくは、</p>
<p>スライドアップの2秒間のアニメーションで非表示</p>
</div>
<p><button id="jquery-api-slideToggle-fast">slideToggle( 'fast' )</button></p>
<p>slideToggle( 'fast' ) ボタンをクリックすると:</p>
<div id="jquery-api-slideToggle-fast-contents">
<p>スライドダウンの速いアニメーションで表示</p>
<p>もしくは、</p>
<p>スライドアップの速いアニメーションで非表示</p>
</div>