No.013
TEXT JS

Number Count Up

カウントアップ — JS · AIプロンプト付き

数値を0からカウントアップで表示する効果。実績・統計・ランディングページのインパクト演出に。

DEMO

0
USERS
0
PERCENT
0
PROJECTS

CODE

HTML
<div class="demo-stage"><div class="nc-grid"><div class="nc-item"><div class="nc-val" data-target="2847">0</div><div class="nc-label">USERS</div></div><div class="nc-item"><div class="nc-val" data-target="98">0</div><div class="nc-label">PERCENT</div></div><div class="nc-item"><div class="nc-val" data-target="156">0</div><div class="nc-label">PROJECTS</div></div></div><button class="nc-btn" onclick="startCount()">START COUNT</button></div>
CSS
.nc-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; padding:2rem; }
.nc-item { text-align:center; }
.nc-val { font-family:'Oswald',sans-serif; font-size:3rem; font-weight:600; color:#E91B89; line-height:1; }
.nc-label { font-family:'Oswald',sans-serif; font-size:.7rem; letter-spacing:.2em; color:#5A5A5A; margin-top:.5rem; }
.nc-btn { display:block; margin:1rem auto; padding:.8rem 2rem; background:#1A1A1A; color:#fff; border:none; font-family:'Oswald',sans-serif; letter-spacing:.2em; cursor:pointer; }
JS
function startCount(){ document.querySelectorAll('.nc-val').forEach(el => { const target = +el.dataset.target; const duration = 1800; const start = performance.now(); function step(now){ const p = Math.min((now - start) / duration, 1); const eased = 1 - Math.pow(1 - p, 3); el.textContent = Math.floor(eased * target); if(p < 1) requestAnimationFrame(step); else el.textContent = target; } requestAnimationFrame(step); }); }

AI PROMPT

Claude Cursor v0
PROMPT
数値カウントアップを作って。data-target属性で目標値を指定、duration 1800msでeaseOutCubicイージング適用。requestAnimationFrameで毎フレーム計算、Math.floor()で整数化。スタートボタンクリックで全要素同時カウントアップ。フォントはOswaldで大きく、color:#E91B89。

BOOKS · PR · AMAZON

📖 なかしまぁ先生のCSSアニメーション入門 📖 UIデザインの心理学 ―わかりやすさ・使いやすさの法則 📖 Fundamentals of Web Animation with GSAP

※当サイトはAmazonアソシエイトプログラムの参加者です。リンクから商品をご購入いただくと、当方に紹介料が発生します。

学びを止めない · AMAZONサブスク

📚 Kindle Unlimited — 技術書・デザイン書が読み放題。30日無料体験 → 🎧 Audible — 移動中に耳で学ぶオーディオブック。30日無料体験 → 📦 Amazon Prime — Prime Reading・配送特典つき。30日無料体験 → 🎵 Music Unlimited — 作業用BGMに。1億曲が聴き放題・30日無料体験 →

※当サイトはAmazonアソシエイトプログラムの参加者です。リンクから商品をご購入いただくと、当方に紹介料が発生します。

カウントアップ(Number Count Up)とは

数値を0からカウントアップで表示する効果。実績・統計・ランディングページのインパクト演出に。この効果は主にJavaScriptでDOMを操作し、要素の位置やスタイルを動的に書き換えて実現します。

使いどころ

ヒーローの見出し・キャッチコピー・セクションタイトルなど、視線を集めたいテキストに向く。やりすぎると可読性や操作性を損なうため、目的のある一点に絞って使うのがコツです。

CSS実装のポイント

JavaScriptで座標やタイミングを計算しながら要素のstyleを書き換えます。更新はrequestAnimationFrameでブラウザの描画タイミングに同期させ、位置の変更はtransformで行うとレイアウト再計算を避けられて軽くなります。動きを減らす設定(prefers-reduced-motion)の利用者へは演出を控えめにする配慮も大切です。

CSSとJavaScriptの違い

CSSアニメーションは記述が簡潔で軽く、ブラウザ側で最適化されるため高パフォーマンスですが、操作に応じた複雑な分岐や数値計算は不得意です。一方JavaScriptはイベントに反応して動きを動的に組み立てられる反面、書き方を誤ると処理が重くなりがちです。この効果は見た目はCSS・制御はJavaScriptという役割分担で成り立っています。