ZeroPlus Gateについて

\ シェア /

FacBook
Twitter
LINE
はてブ
PPocket
ZeroPlus Media > Web制作 > JavaScript > jQueryのanimate()を使って動きをつけよう

jQueryのanimate()を使って動きをつけよう

JavaScript

2022/07/22

2023/06/02

jQueryのanimate()を使って動きをつけよう

今回は、jQueryのanimate()でアニメーションを起こしていく方法を学んでいきます。

animate()を使用することで、Webサイト内に多様なアニメーションを起こすことができます。

animate()でアニメーションを起こす

まずは、animate()とは何かについて学んでいきましょう。

animate()とは、HTMLの要素に対して、スタイルを変化させることでアニメーションを起こすメソッドです。

animate()のアニメーションの例

まずは、アニメーションの実例をみてイメージを膨らませていきましょう。

アニメーションを起こすために、HTMLの要素を作成しました。

<div class="sample-animation">大きくなれよ。</div>

次に、animate()でアニメーションの設定を行います。

$(".sample-animation").animate(
    {
      fontSize: 64,
    },
    1000
);

ここまで記述できたら、ブラウザで動きを確認してみましょう。

画像のようにアニメーションができていれば大丈夫です。

このように、HTMLの要素に対してスタイルを変化させることにより、アニメーションを起こすことができます。

animate()の使い方

animate()のイメージが掴めたところで、使い方について学んでいきましょう。

animate()には、4つの引数を設定することができます。

  • CSSプロパティ
  • 時間
  • イージング
  • 関数

雛形を記述すると以下のようになります。

$(セレクタ).animate(
    {
      CSSプロパティ,
    },
    時間,
    イージング,
    関数,
);

それぞれの引数の後には、項目を区切るための「,(カンマ)」を付けることを忘れないようにしましょう。

また、animate()では、CSSプロパティ以外の引数は省略することができることも覚えておきましょう。

animate()でCSSプロパティを指定する

animate()で、CSSプロパティを記述する際は、1点注意が必要です。
アニメーションを作成できるCSSプロパティは、値に数値を記述するものに限られます。

なので、「colorプロパティ」や「backgroundプロパティ」などの
値をテキストで指定する
CSSプロパティは animate()でアニメーションを作成することができません

animate()でCSSプロパティを指定する

先ほどの例では、CSSプロパティにfonsSizeのプロパティを指定していました。

//先ほどの例
$(".sample-animation").animate(
    {
      fontSize: 64,
    },
    1000
);

animate()で時間を指定する

animate()で指定する時間は、「ミリ/秒」で指定します。

「ミリ/秒」の計算は、「0を3つ取る」と覚えておきましょう。
「1000」と記述されていた場合は、0を3つ取って「1秒」となります。

先ほどの例では、1秒のアニメーションの時間を指定していました。

//先ほどの例
$(".sample-animation").animate(
    {
      fontSize: 64,
    },
    1000
);

animate()でイージングを指定する

animate()で、アニメーションの動きのイージングを指定することができます。
イージングとは、簡単に言うとアニメーションの速度のことです。

animate()で指定できるイージングには種類がありますが、
今回は「linear」と「swing」という2つの値を指定する例をお見せしたいと思います。

  • linear:一定の速度でアニメーションが進行する
  • swing:始めは遅く、途中は速く、最後は遅くアニメーションが進行する

上記の2つの特徴を押さえた上で、以下の例を見ていきましょう。

・animate()のイージングの例 まずは、HTMLでアニメーションを起こす要素を作成します。

<div class="sample-box sample-animation_A">linear</div>
<div class="sample-box sample-animation_B">swing</div>

次に、見やすいようにスタイルを整えます。

div {
  font-size: 40px;
  margin-top: 80px;
}

.sample-box {
  background: #ffbb1c;
  width: 10px;
}

最後に、animate()で、divタグそれぞれに対して、3秒間かけて横幅が広がるアニメーションを起こします。

$(".sample-animation_A").animate({ width: 1000 }, 3000, "linear");
$(".sample-animation_B").animate({ width: 1000 }, 3000, "swing");

ここまで記述ができたら、ブラウザで確認してみましょう。

画像のように、animate()のイージングを指定することで、アニメーションの速さを調節することができます。

animate()で関数を指定する

次に、animate()で関数を指定する方法を確認しましょう。

animate()でアニメーション完了後に関数を呼び出す例

それでは、先ほどのHTMLの例を利用して確認してみましょう。
わかりやすいように、アニメーションを起こす要素を1つに減らします。

<div class="sample-box sample-animation_A">linear</div>

次に、関数の指定とanimate()で関数の呼び出しを行います。

const animationDone = () => {
    alert("アニメーションが終わりました!");
  };

$(".sample-animation_A").animate(
  { width: 1000 },
  3000,
  "linear",
  animationDone
);

ここまで記述できたら、ブラウザで確認してみましょう。

アニメーションが完了したら、alert()が起動していれば大丈夫です。

上記の例のように、animate()で関数を呼び出すことが可能なのです。

アニメーションを作ってみよう

ここまででanimate()の使い方を説明してきました。

animate()を使うことで、CSSプロパティの値を少し変えるだけでもアニメーションができてしまいます。

jQueryを使ってアニメーションを制作する第1歩として、animete()を使いこなせるようになりましょう。

\ 学んだことをSNSでシェアしよう /

おすすめのタグ

この記事の執筆者

ZeroPlus Media変種部

ZeroPlus Media編集部

ZeroPlusは、「フリーランス特化型プログラミングスクール」です。ZeroPlus Mediaでは、フリーランスとして活躍する際に役立つ有益なプログラミングやWeb制作に関する情報を発信しています。

質問について

ZeroPlus Media読者限定で質問対応をおこなっています。以下の2つの方法で質問を受け付けています。

選べる2つの質問方法

1

Google Foam(テキスト)で質問

mail

フォーム送信

メールで解答

formで質問
2

Google meet(オンラインmtg)で質問

meet

日時選択

メールを受け取る

メールからmtgに参加

meetで質問
ZeroPlus Gateについて

あなたの目的に合わせた2つのサービス

あなたの目的に合わせたZeroPlusの2つのサービス
基礎からフリーランスレベルまで本質的な学びを提供しています

完全無料!30日間で学びきれる
プログラミンスクールZeroPlus Gate

  • お金をかけずに、学習を進めたい
  • Webサイトを作れるようになりたい
  • メンターや講師に質問しながら学習したい

詳しくはこちらから

フリーランス特化型
プログラミングスクール ZeroPlus

  • プログラミング学習で悩んでいる
  • 仲間と一緒に学習したい
  • フリーランスとしての総合的な力を養いたい

詳しくはこちらから