jQuery アニメーション
animate()
メソッドはウェブページにカスタムアニメーションを追加するためのメソッドです。
animateメソッドの基本構文
animate()
メソッドの基本的な構文は以下の通りです。
$(selector).animate({params}, speed, callback);
params
: アニメーションを適用するCSSプロパティとその値を指定します。speed
: アニメーションの速度を指定します。ミリ秒単位で指定するか、”slow”、”fast”という文字列で指定することも可能です。callback
: アニメーションが終了した後に実行する関数を指定します。
animateメソッドの使用例
例えば、以下のコードでは、IDが”box”の要素の高さと幅を2秒かけて200pxにアニメーションしながら変更しています。
<button id="start">アニメーション開始</button>
<div id="box" style="width: 100px; height: 100px; background-color: pink;"></div>
<script>
$("#start").click(function(){
$("#box").animate({
height: "200px",
width: "200px"
}, 2000);
});
</script>
これで、”アニメーション開始”ボタンをクリックすると、四角形のdiv要素がゆっくりと大きくなるアニメーションが見られるようになりました。
stop()メソッド
スタートに対して、停止のメソッドもあります。
stop()
メソッドは、指定した要素に対して実行中のアニメーションを停止します。
これにより、ユーザが連続的にアクションを行うとき(例えば、ボタンを素早くクリックするなど)、予期しないアニメーションのキューが蓄積されるのを防ぐことができます。
stop()
メソッドは2つのオプションを引数として受け取ることができます。
clearQueue
: デフォルトはfalse
です。true
に設定すると、現在実行中のアニメーションだけでなく、待機中のアニメーションも全てクリアします。jumpToEnd
: デフォルトはfalse
です。true
に設定すると、アニメーションを停止するときに最終状態にジャンプします。
以下にstop()
メソッドを使用した例を示します。
<button id="start">スタート</button>
<button id="stop">ストップ</button>
<div id="animatedDiv" style="width:80px;height:80px;background-color:skyblue;"></div>
<script>
$(document).ready(function(){
$("#start").click(function(){
$("#animatedDiv").animate({height: "300px"}, 7000);
});
$("#stop").click(function(){
$("#animatedDiv").stop();
});
});
</script>
「スタート」ボタンをクリックするとボックスの高さが7秒かけて300pxに増え、途中で「ストップ」ボタンをクリックするとアニメーションが停止します。
コメント