資料展示

Animated Stats

進入視口時數字從 0 計數到目標值的統計數字組,項目 stagger 淡入上移。

把這個效果裝進你的專案

在專案資料夾執行指令,CLI 會加入原始碼與依賴套件,再依下方使用範例引用元件。

npx webberui@latest add animated-stats

還沒有專案,或安裝遇到問題?看快速開始 →

Playground

即時調整 props、程式碼片段同步更新——直接試出你要的樣子再複製。

24000
1.6
0.15
0
編輯中的呼叫預設屬性
<AnimatedStats/>

完整範例包含預覽的排版與資料。先安裝元件,再把範例檔貼入你的專案。

安裝

npx webberui@latest add https://webberui.com/r/animated-stats.json

或在 components.json 設定 registries 後,改用 @webberui/animated-stats 安裝。

使用

import { AnimatedStats, StatItem } from "@/components/ui/animated-stats";

<AnimatedStats>
  <StatItem value={120} suffix="+" label="元件" />
  <StatItem value={98} suffix="%" label="滿意度" />
  <StatItem value={3.2} suffix="s" decimals={1} label="平均安裝時間" />
</AnimatedStats>

Props

AnimatedStats

Prop型別預設值說明
childrenReact.ReactNode—統計項目(放入 StatItem)
delaynumber0進場前延遲(秒)
staggernumber0.15每個項目的 stagger 間隔(秒)
oncebooleantrue只在第一次進入視口時播放

StatItem

Prop型別預設值說明
valuenumber—目標數值,從 0 計數到此值
labelstring—數字下方的說明文字
prefixstring""數字前綴(例如 $)
suffixstring""數字後綴(例如 +、%)
decimalsnumber0小數位數
durationnumber1.6計數動畫時長(秒)

可及性

  • 使用者系統開啟「減少動態效果」時,跳過計數與 stagger,直接顯示最終數字
  • 數字容器帶 aria-label(最終格式化值,含前後綴),計數中的動畫 span 對輔助科技隱藏(aria-hidden),螢幕閱讀器只會朗讀最終值