JavaScriptだけで簡単実装!数値が動くカウントアップアニメーションの作り方
スポンサーリンク

こんにちは!静岡県浜松市でWEBデザイナーをしています小瀧です。
Webサイトをちょっとだけ“動かす”ことで、ユーザーの印象に大きな違いが生まれるって、ご存じでしたか?

例えば、実績紹介や売上、訪問者数などの「数字」がスクロールに合わせてスーッとカウントアップしていく演出。
あの視覚効果、見ている側としても「おっ、動いてる!」と興味を引かれますよね!

しかもこの仕組み、実はJavaScriptだけで、意外とシンプルに実装できるんです。
今回は、外部ライブラリなしで、軽量かつ汎用的なカウントアップアニメーションを作る方法を、やさしく、しっかり解説します!

カウントアップアニメーションとは?

カウントアップアニメーションとは、ページ読み込みやスクロールに合わせて、0から指定した数値まで数字がアニメーション付きで増加していく動きのこと。

たとえば
  • 「〇〇名が利用しています!」の人数表示
  • 「開業から〇年」の経過年数
  • 「売上実績〇万円」などのビジネス実績

このような見せ方に活用されることが多く、ページの信頼性や視覚的な訴求力をグッと高めてくれる便利な演出です。

まずはHTMLの基本構造

See the Pen
Untitled
by 小瀧賢 (@ekwwawpb-the-styleful)
on CodePen.


最初に、カウントアップする数字を表示するためのHTMLを用意しましょう。

 <div class="counter" data-target="1000">0</div> 

このように、表示したい数値(最終的に1000までカウントアップさせたい)が data-target 属性に設定されています。
初期値は「0」。ここからJavaScriptで、目標値まで徐々に数値を増やしていくという仕組みです。

スポンサーリンク

JavaScriptでアニメーションを実装

次に、JavaScriptでこのカウントアップ処理を実装していきましょう。
以下が基本のスクリプトです。

const counters = document.querySelectorAll(".counter");
counters.forEach((counter) => {
  counter.innerText = "0";
  const updateCount = () => {
    const target = +counter.getAttribute("data-target");
    const current = +counter.innerText;
    const increment = target / 100;
    if (current < target) {
      counter.innerText = `${Math.ceil(current + increment)}`;
      setTimeout(updateCount, 20);
    } else {
      counter.innerText = target;
    }
  };
  updateCount();
});

ポイントは以下の通りです

  • target … カウントアップの最終値(data属性から取得)
  • increment … 100ステップ程度で到達するように、1回あたりの増分を設定
  • setTimeout … 20msごとに数字を更新し、アニメーションに見せている

このロジックで、自然な動きで数字が増えていきます。シンプルながら、どんなサイトにも応用しやすいコードです。

スクロール時に実行するよう改良

せっかく作ったアニメーションも、ユーザーが見ていない場所で勝手に動いていたら意味がありませんよね。
そこでおすすめなのが、Intersection Observer APIを使って「要素が画面に入ったら発火」という改良です。

See the Pen
Untitled
by 小瀧賢 (@ekwwawpb-the-styleful)
on CodePen.


この方法を使えば、ユーザーが要素を見たタイミングで自然にアニメーションが始まるので、UXとしてもかなりスマートです!

カウントアップ演出が活きるシーン

このカウントアップ、ビジュアルとして効果があるだけでなく、ユーザーの信頼感を高めるツールとしても非常に優秀です!

  1. 実績の提示: 顧客数・施工件数・導入社数など
  2. 時間の経過: 設立〇年・サポート実績〇時間など
  3. 売上・成果: 月間売上、成約件数、CV数など

「数字」は、言葉以上に説得力を持つ情報です。
そこに視覚的な動きを与えることで、より多くの人の記憶に残るサイトになりますよ。

まとめ

今回は、JavaScriptだけでシンプルにカウントアップアニメーションを実装する方法をご紹介しました。

見た目の華やかさだけでなく、数字による信頼の見せ方として、ビジネスサイトや実績紹介ページなど、幅広く使えるテクニックです。

「ちょっとした動き」がWebの印象を大きく変えます。
ぜひ、あなたのサイトにも取り入れてみてくださいね!

 

satokotadesignキャンペーン実施中!

ぶっちゃけ無料相談会!ホームページ制作の悩み話してみませんか?
satokotadesign4周年記念キャンペーン

静岡県浜松市でホームページ制作ならsatokotadesign
静岡県浜松市でホームページ制作ならsatokotadesign

スポンサーリンク
おすすめの記事