jQuery API の animate( properties[, duration][, easing][, complete] ) は、カスタムアニメーションを実行するメソッド。1つ目の引数である properties に設定したCSSプロパティを、セレクターの要素に、徐々に変化するアニメーションで反映させる。
記述方法
1つ目の引数である「properties / CSSプロパティ」に設定したCSSプロパティを、セレクターの要素に、徐々に変化するアニメーションで反映させる。
引数
- properties / CSSプロパティ
設定できるのは、値が数値型のCSSプロパティ。
「{ キー:値, キー:値 } 」のようにハッシュで指定する。
- キーの指定について
キャメルケースで表記する。例えば、「border-width」であれば、「borderWidth」と表記する。
- 値の指定について
数値:'10px'、'1.3em'、0.5 などのような数値。「+=」「-=」を数値の前に表記することで、現在値に加算減算する相対的指定もできる。
文字列:'toggle'、'show'、'hide'
- [duration] / 速度(動作時間)
オプション。
ミリ秒単位の数字、もしくは、'slow'、'normal'、'fast' の文字列で指定。
例えば、2000 を指定すると、2秒間のアニメーションとなる。
- [easing] / イージング関数名
オプション。
'linear'、'swing' の文字列で指定。
イージング関数とは、加速度を加味したような動作パターンのこと。jQuery にデフォルトで用意されているのは、linear と swing のシンプルな動作パターンだけだが、jQuery Easing Plugin などの jQuery プラグインを導入することで、使える動作パターンを増やすことができる。
- [complete] / アニメーション完了後に実行する関数
オプション。
アニメーション完了後に呼び出したい関数を指定することができる。
実装例(サンプル)
実装例(サンプル)の動作について
赤いブロック部分を、クリックすると、グレーのブロック部分が、左方向へ動きながら消える。もう一度、赤いブロック部分を、クリックすると、グレーのブロック部分が、右方向へ動きながら出現。速度( duration )は、slow を指定してある。
実装例(サンプル)のソースコード
JavaScript
<!--
jQuery( function() {
jQuery( '#jquery-api-animate-toggle-title' ) . click( function() {
jQuery( "#jquery-api-animate-toggle-block" ) . animate( { width: 'toggle' }, 'slow' );
} );
} );
// -->
</script>
CSS
<!--
div#jquery-api-animate-toggle-title {
float: left;
background-color: red;
height: 50px;
width: 50px;
text-align: center;
}
div#jquery-api-animate-toggle-block {
float: left;
background-color: silver;
height: 50px;
width: 300px;
}
-->
</style>
HTML
<div id="jquery-api-animate-toggle-block"></div>
<div style="clear: both;"></div>