Anime.js 是由 Julian Garnier 打造的一款輕量級 JavaScript 動畫引擎,為網頁動畫領域貢獻超過十年。2025 年,這個函式庫經歷了史上最重大的轉變:從底層全面重寫為版本 4(v4),將原本單一的 anime() 函式取代為模組化、以 ESM 為優先的 API。截至 2026 年初,Anime.js 在 GitHub 上擁有超過 58,000 顆星,活躍的 npm 發布版本也已推進到 v4.3.6,證明了在 CSS 動畫與 WAAPI 盛行的時代,一套設計良好的動畫函式庫仍能蓬勃發展。
第 4 版不僅僅是增量更新,而是一次理念上的轉變:不再是單一函式包辦所有功能,v4 提供離散、可 tree-shaking 的模組,按名稱匯入即可使用。核心的 animate() 函式取代了舊有的 anime()。參數經過重新命名(value 屬性改為 to,easing 改為 ease),並新增了多項全新系統——透過 createSpring 實現彈簧物理、拖曳互動、SVG 運動路徑、文字分割,以及僅 3 KB 的 WAAPI 整合。最終成果是一個既熟悉又遠比以往強大的函式庫,能夠在 3000 個 DOM 元素上驅動每秒 60 幀的動畫,同時融入現代建置流程而不增加多餘體積。
本指南涵蓋 2026 年使用 Anime.js v4 所需的一切知識:安裝方式、模組化 API、從 v3 升級的重大變更、彈簧物理、時間軸、SVG 與文字動畫、效能特性,以及 v4.2 和 v4.3 系列的最新功能。
最後更新:2026 年 5 月 2 日——基於 animejs.com 官方文件與 juliangarnier/anime 儲存庫。
目錄
- Anime.js v4 有哪些新功能?
- 從 v3 升級到 v4 的重大變更
- 如何安裝與匯入 Anime.js v4?
- 核心 API:animate() 函式
- v4 的關鍵影格
- 合成模式:Replace、Blend 與 None
- 使用 createSpring 的彈簧物理
- 時間軸與標籤位置
- SVG 動畫模組
- 使用 splitText 的文字動畫
- 拖曳互動
- createScope 的框架整合
- WAAPI 整合
- 引擎設定與效能
- 版本歷史:v4.2 與 v4.3
- 延伸閱讀與資源
Anime.js v4 有哪些新功能?
直接回答:Anime.js v4 是一次全面重寫,以模組化 ESM 優先的 API 取代了單一的
anime()函式。它引入了彈簧物理、四種語法的關鍵影格、帶標籤位置的強化時間軸、用於框架綁定的 createScope、createDraggable、SVG 變形與運動路徑、splitText、WAAPI,以及引擎層級的設定——全部在數千個元素上維持 60fps 的效能。
Anime.js v4 於 2025 年 4 月發布,歷經五年的開發,代表了整體架構的大翻新。以下是每個主要新系統的摘要:
| 功能 | 模組 | 說明 |
|---|---|---|
| 模組化 API | 核心(animejs) | 可 tree-shaking 的 ESM 匯入:animate、stagger、createTimeline 等 |
| 彈簧物理 | animejs | createSpring() 含質量、剛度、阻尼、速度、彈跳 |
| 關鍵影格 | 核心 | 四種語法:陣列式、持續時間式、百分比式、偏移式 |
| 合成模式 | 核心 | replace、blend 或 none,用於疊加動畫 |
| 強化時間軸 | animejs/timeline | 標籤位置(<<、<=、LABEL、LABEL+=N)、.call()、.sync() |
| createScope | animejs/scope | 限域 DOM 查詢與框架元件的自動清理 |
| createDraggable | animejs/draggable | 拖曳、吸附、輕彈、拋擲,釋放時結合彈簧物理 |
| SVG 模組 | animejs/svg | createMotionPath、createDrawable、變形 |
| 文字模組 | animejs/text | splitText 支援 Intl.Segmenter |
| WAAPI 整合 | animejs | 使用 Web Animations API 的 3 KB 替代方案 |
| 引擎設定 | animejs/engine | 幀率、精確度、全域預設、隱藏頁面時暫停 |
| CSS 變數 | 核心 | 直接對 CSS 自訂屬性進行動畫 |
| createLayout | animejs(v4.3) | 在版面狀態之間自動產生動畫 |
架構一覽
mindmap
root((Anime.js v4))
核心
animate
stagger
createTimer
createTimeline
createSpring
createLayout
waapi
engine
SVG
createMotionPath
createDrawable
morphTo
文字
splitText
互動
createDraggable
createScope
工具
random
round
lerp
createSeededRandom
get
set
remove從 v3 升級到 v4 的重大變更
直接回答:最重要的變更包括:
anime()改為animate()、value改為to、easing改為ease,以及alternate等方向標記從字串值改為布林屬性。
如果您要從 Anime.js v3 遷移,每一個呼叫位置都需要更新。API 表面經過精心簡化與重新命名,以求一致性。下表列出了每個 v3 API 對應的 v4 版本。
參數變更
| v3(已棄用) | v4(現行) | 說明 |
|---|---|---|
anime({targets: ...}) | animate(targets, {...}) | Targets 現在是第一引數 |
value: 100 | to: 100 | 關鍵影格屬性重新命名 |
easing: 'easeOutQuad' | ease: 'outQuad' | 去掉 ease 前綴;省略 easeIn/easeOut |
direction: 'reverse' | reversed: true | 布林值,非字串 |
direction: 'alternate' | alternate: true | 布林值,非字串 |
endDelay | loopDelay | 為清晰起見重新命名 |
round: 100 | modifier: utils.round(2) | 現在使用修飾函式 |
autoplay: false | autoplay: false | 未變更 |
loop: true | loop: true | 未變更(迴圈次數 0 = 不迴圈) |
回呼變更
| v3(已棄用) | v4(現行) |
|---|---|
begin | onBegin |
update | onUpdate |
change | onRender |
complete | onComplete |
loopBegin / loopComplete | onLoop |
模組變更
| v3(全域) | v4(匯入) |
|---|---|
anime.timeline() | 來自 animejs/timeline 的 createTimeline() |
anime.stagger() | 來自 animejs 的 stagger() |
anime.path() | 來自 animejs/svg 的 createMotionPath() |
anime.setDashoffset() | 來自 animejs/svg 的 createDrawable() |
anime.reverse() | animation.reverse()(實例方法) |
.finished(Promise) | .then(callback)(實例方法) |
如何安裝與匯入 Anime.js v4?
直接回答:執行
npm install animejs@latest,然後以import { animate, stagger } from 'animejs'的方式匯入模組。若使用 CDN,可用 ESM 語法從 esm.sh 或 jsDelivr 匯入。
安裝遵循標準的 npm 慣例:
# 安裝最新版本(截至 2026 年 5 月為 v4.3.6)
npm install animejs@latest
# 或安裝指定版本
npm install animejs@4.3.6
模組匯入路徑
Anime.js v4 從 v4.2.0 起支援子路徑匯入。每個模組可單獨匯入,以達到最佳的 tree-shaking 效果:
// 核心——永遠可用
import { animate, stagger, createSpring, createTimer } from 'animejs';
import { waapi } from 'animejs';
import { engine, defaults } from 'animejs';
import { utils } from 'animejs';
// 子路徑匯入(v4.2+)
import { createTimeline } from 'animejs/timeline';
import { createScope } from 'animejs/scope';
import { createDraggable } from 'animejs/draggable';
import { splitText } from 'animejs/text';
import { createMotionPath, createDrawable } from 'animejs/svg';
import { eases, spring } from 'animejs/easings';
CDN 用法
<script type="module">
import { animate, stagger } from 'https://esm.sh/animejs@4.3.6';
animate('.box', {
x: { to: 300 },
duration: 1000,
ease: 'outQuint',
});
</script>
核心 API:animate() 函式
直接回答:
animate(targets, params)是主要的進入點。它接受 CSS 選擇器、DOM 元素、NodeList 或 JavaScript 物件作為目標。參數包括to、from、ease、duration、delay、loop、alternate、reversed、composition、modifier以及所有回呼函式。
animate() 函式接受兩個引數:目標與參數物件。以下是完整的參數參考:
animate('.element', {
// 動畫屬性
x: { to: 300 }, // 單一屬性含 from/to
rotate: { from: 0, to: 360 }, // 明確指定 from 與 to
scale: 2, // 簡寫(等同於 to: 2)
backgroundColor: '#ff0', // CSS 顏色(支援含透明度的十六進位: #ff0a)
// 時間設定
duration: 1000, // 毫秒(預設值因情況而異)
delay: 200, // 開始前的延遲
ease: 'outQuint', // 緩動函式(參見下方緩動表)
loop: 2, // 額外重複次數(0 = 不迴圈)
alternate: true, // 每次迴圈時反向
reversed: false, // 從結束值開始
loopDelay: 0, // 迴圈之間的暫停(取代 v3 的 endDelay)
// 渲染
composition: 'replace', // 'replace' | 'blend' | 'none'
modifier: utils.round(2), // 數值後處理
frameRate: 60, // 限制 FPS
playbackRate: 1, // 速度倍率
// 回呼
onBegin: () => {}, // 動畫(含延遲)開始時
onBeforeUpdate: () => {}, // 每次更新 tick 之前
onUpdate: (anim) => {}, // 每一幀
onRender: (anim) => {}, // 數值實際變更時
onLoop: (anim) => {}, // 每次迴圈結束時
onPause: (anim) => {}, // 暫停時
onComplete: (anim) => {}, // 完全結束時
});
緩動函式參考
Anime.js v4 移除了緩動名稱中的 ease 前綴(使用 'outQuad' 而不是 'easeOutQuad')。自訂緩動可以傳入函式或使用 createSpring() 建立。
| 緩動名稱 | 說明 |
|---|---|
'linear' | 恆定速度 |
'outQuad' | 緩慢減速 |
'inQuad' | 緩慢加速 |
'inOutQuad' | 起止皆緩 |
'outCubic' | 溫和減速 |
'inOutCubic' | 平滑起止 |
'outQuint' | 強烈減速 |
'inOutQuint' | 明顯緩動 |
'outExpo' | 指數級減速 |
'inOutElastic' | 兩端彈性效果 |
'outBounce' | 結束時彈跳 |
'outBack' | 過衝後回彈 |
v4 的關鍵影格
直接回答:Anime.js v4 支援四種關鍵影格語法:陣列式(每個項目是一個含自訂 to/from 的關鍵影格)、持續時間式、百分比式以及偏移式——讓您精細控制多步驟動畫。
Anime.js v4 引入了四種不同的關鍵影格語法,各自適用於不同的使用情境:
// 1. 陣列式(最靈活——每個元素是一個關鍵影格)
animate('.box', [
{ rotate: { to: 90 }, duration: 500 },
{ rotate: { to: 180 }, duration: 500 },
{ rotate: { to: 360 }, duration: 500 },
]);
// 2. 持續時間式(進度根據持續時間計算)
animate('.box', {
rotate: {
0: 0, // 0ms——開始
500: 90, // 500ms——關鍵影格 1
1000: 180, // 1000ms——關鍵影格 2
2000: 360, // 2000ms——關鍵影格 3
}
});
// 3. 百分比式(進度相對於總持續時間)
animate('.box', {
rotate: {
'0%': 0,
'25%': 90,
'50%': 180,
'100%': 360,
}
});
// 4. 偏移式(明確偏移量以精確控制時間)
animate('.box', {
rotate: { to: 360 },
offset: [0, 500, 1000, 2000],
value: [0, 90, 180, 360],
});
合成模式:Replace、Blend 與 None
直接回答:
composition參數控制重疊動畫的互動方式。replace(預設)在動畫進行中切換數值,blend在重疊數值之間插值,而none則讓動畫獨立運行。
當多個動畫同時影響同一個屬性時,composition 模式決定了行為:
| 模式 | 行為 | 最適合 |
|---|---|---|
'replace'(預設) | 新動畫立即接管;舊值被覆蓋 | 順序動畫、懸浮轉場 |
'blend' | 重疊動畫的數值會一起插值 | 平滑疊加效果 |
'none' | 動畫獨立運行,不進行合成計算 | 高效能場景,獨立元素 |
// Blend 範例——兩個重疊的顏色動畫平滑融合
animate('.box', {
backgroundColor: { to: '#f00' },
duration: 1000,
});
animate('.box', {
backgroundColor: { to: '#00f' },
duration: 1000,
delay: 500,
composition: 'blend', // 透過紫色從紅色插值到藍色
});
使用 createSpring 的彈簧物理
直接回答:
createSpring()產生基於物理的緩動函式,參數包含mass(質量)、stiffness(剛度)、damping(阻尼)、velocity(速度)以及bounce(彈跳,v4.2+)。將結果傳給ease參數,即可獲得自然的物理驅動運動。
彈簧物理帶來了傳統緩動曲線無法比擬的自然運動感。Anime.js v4 將此作為一級功能:
import { animate, createSpring } from 'animejs';
const spring = createSpring({
mass: 1, // 越大 = 震盪越慢
stiffness: 200, // 越高 = 越乾脆
damping: 10, // 越高 = 彈跳越少
velocity: 0, // 初始速度
bounce: 0.5, //(v4.2+)控制彈簧彈跳強度,0-1
});
animate('.ball', {
translateY: { to: 300 },
ease: spring,
loop: true,
alternate: true,
});
彈簧參數比較
| 參數 | 範圍 | 效果 |
|---|---|---|
mass | 0.1 – 10 | 質量越小,速度越快、反應越靈敏 |
stiffness | 1 – 500 | 越高,回到靜止狀態越乾脆 |
damping | 1 – 50 | 越高,震盪消失越快 |
velocity | 任意數 | 初始推動方向與力度 |
bounce(v4.2+) | 0 – 1 | 0 = 無彈跳,1 = 最大彈跳 |
時間軸與標籤位置
直接回答:
createTimeline()使用add()和set()方法建立序列化動畫。v4 時間軸支援標籤位置(<<、<=、LABEL_NAME)、明確偏移量(+=500、-=200),以及新的方法如.call()、.sync()、.label()和.set()。
v4 的時間軸功能大幅強化。標籤取代了舊的位置系統,提供更易讀的語法:
import { createTimeline } from 'animejs/timeline';
const tl = createTimeline({
defaults: { ease: 'outQuad', duration: 300 },
loop: 1,
});
// 使用位置標籤加入動畫
tl.add('.box-a', { x: { to: 200 } }) // 立即開始
.add('.box-b', { scale: { to: 1.5 } }, '+=200') // 前一個結束後 200ms
.add('.box-c', { rotate: { to: 180 } }, '<<') // 前一個動畫的起點
.label('midpoint') // 命名標記
.add('.box-d', { y: { to: 100 } }, 'midpoint') // 在標籤位置
.add('.box-e', { opacity: { to: 0 } }, 'midpoint+=500') // 標籤後 500ms
.play();
時間軸位置語法
| 位置 | 含義 |
|---|---|
'+=500' | 前一個動畫結束後 500ms |
'-=200' | 前一個動畫結束前 200ms |
'<<' | 與前一個動畫的起點對齊 |
'<=' | 與前一個動畫的結束點對齊 |
'midpoint' | 在指定的命名標籤位置 |
'midpoint+=300' | 命名標籤後 300ms |
stagger(80) | 使用 stagger 函式的交錯偏移(v4 新增!) |
sequenceDiagram
participant t0 as 0ms
participant t1 as +300ms
participant t2 as +600ms
participant t3 as +900ms
Note over t0: tl.add(box-a, { x: 200 })
Note over t1: tl.add(box-b, { scale: 1.5 }, '+=200')
Note over t2: tl.add(box-c, { rotate: 180 }, '<<')
Note over t3: tl.add(box-d, { y: 100 }, 'midpoint')SVG 動畫模組
直接回答:來自
animejs/svg的 SVG 模組提供createMotionPath(沿路徑運動)、createDrawable(線條繪製動畫),以及 SVG 形狀之間的內建變形功能——全部由核心animate()函式驅動。
SVG 動畫是 Anime.js 的旗艦功能之一。V4 將此組織為專用模組:
運動路徑
import { animate } from 'animejs';
import { createMotionPath } from 'animejs/svg';
const { translateX, translateY, rotate } = createMotionPath('#path');
animate('.car', {
translateX,
translateY,
rotate,
duration: 3000,
ease: 'outQuint',
});
createMotionPath 函式現在支援 offset 參數(v4.2.1),用於設定元素相對於路徑的位置。
線條繪製(createDrawable)
import { createDrawable } from 'animejs/svg';
const drawable = createDrawable('#my-path'); // 或 createDrawable('path')
animate(drawable, {
draw: '0 1', // 從繪製 0% 到 100%
duration: 2000,
ease: 'outQuad',
});
形狀變形
// 將一個路徑變形成另一個
animate('#shape', {
d: { to: '#target-shape' }, // 變形路徑資料
duration: 1500,
ease: 'inOutQuint',
});
使用 splitText 的文字動畫
直接回答:來自
animejs/text的splitText()使用瀏覽器的 Intl.Segmenter API 將文字拆分為字元、單詞和行。它將每個片段包裹在可設定的 HTML 元素中,以便進行逐片段動畫。
文字模組讓文字揭示與動態排版變得簡單直接:
import { splitText } from 'animejs/text';
const split = splitText({
text: 'Anime.js v4 makes text dance!',
by: 'word', // 'char' | 'word' | 'line' | 'all'
tag: 'span', // 用於包裹每個片段的 HTML 元素
});
然後您可以單獨對產生的節點進行動畫:
import { animate, stagger } from 'animejs';
animate(split.nodes, {
translateY: { from: -20, to: 0 },
opacity: { from: 0, to: 1 },
duration: 600,
delay: stagger(50), // 每個單詞/字元交錯出現
ease: 'outQuad',
});
splitText 選項
| 選項 | 型別 | 預設值 | 說明 |
|---|---|---|---|
by | string | 'char' | 'char'、'word'、'line' 或 'all' |
tag | string | 'span' | 包裝元素型別 |
class | string | '' | 包裝器的 CSS 類別 |
wrap | string | '' | 行元素的包裝器 |
lines | boolean | true | 保留換行 |
clone | boolean | false | 為效果複製節點 |
includeSpaces | boolean | false | 對空白字元也進行動畫 |
accessible | boolean | true | 透過 aria-label 維持無障礙性 |
拖曳互動
直接回答:來自
animejs/draggable的createDraggable()支援拖曳、吸附、輕彈和拋擲互動。它與createSpring()搭配使用,提供基於物理的釋放緩動,並支援邊界、吸附目標和拖曳門檻值。
Draggable 是 v4 中新增的模組,提供完整的拖放互動:
import { createDraggable, createSpring } from 'animejs';
const drag = createDraggable({
el: '.card',
container: '.stack',
bounds: { x: [0, 400], y: [0, 400] },
releaseEase: createSpring({ stiffness: 150, damping: 15 }),
dragThreshold: 10, //(v4.2.1+)開始拖曳前的最小像素數
onStart: () => {},
onDrag: () => {},
onDrop: () => {},
onSnap: () => {},
});
// 後續使用
drag.destroy();
拖曳設定
| 設定 | 型別 | 預設值 | 說明 |
|---|---|---|---|
el | Element | 必填 | 可拖曳的元素 |
container | Element | document.body | 限制移動範圍的容器 |
bounds | Object | – | { x: [min, max], y: [min, max] } |
releaseEase | Function | eases.outQuint | 釋放時的緩動(支援 spring()) |
dragThreshold | Number | 0 | 啟動拖曳的最小距離(v4.2.1) |
onStart | Function | – | 拖曳開始時呼叫 |
onDrag | Function | – | 拖曳期間呼叫 |
onDrop | Function | – | 釋放時呼叫 |
createScope 的框架整合
直接回答:
createScope()提供一個限域環境,包含qs()、qsa()和registerMethod()等輔助方法,以及用於清理的revert()方法——非常適合 Svelte、React 或 Vue 的元件生命週期。
框架整合是 v4 的一級關注事項。createScope() 消除了手動管理查詢選擇器和記憶體洩漏的問題:
import { createScope } from 'animejs/scope';
// 在 Svelte onMount / React useEffect 內部
const scope = createScope({ root: containerElement });
// 限域查詢選擇器
scope.qs('.card'); // 僅在根元素範圍內
scope.qsa('.item'); // 根元素內所有符合的元素
// 註冊自訂方法
scope.registerMethod('customAnimation', (el) => {
animate(el, { scale: 1.2 });
});
// 卸載時清理
onDestroy(() => scope.revert());
WAAPI 整合
直接回答:WAAPI 模組(來自
animejs的waapi)提供相同的 Anime.js 語法,但透過瀏覽器原生 Web Animations API 驅動動畫,產生的捆綁體積僅 3 KB。它支援相同的animate()簽名、stagger()和緩動函式。
對於捆綁體積至關重要的專案,WAAPI 整合提供了一個極具吸引力的替代方案:
import { waapi, stagger } from 'animejs';
waapi.animate('span', {
translate: '0 -2rem',
delay: stagger(100),
duration: 600,
loop: true,
alternate: true,
ease: 'inOut(2)',
});
何時使用 WAAPI 與核心引擎:
| 情境 | 建議 |
|---|---|
| 最大程度節省捆綁體積 | WAAPI(3 KB) |
| 最大元素數量(3000+) | 核心引擎(大規模下 60fps) |
| SVG 動畫 | 核心引擎 |
| 彈簧物理 | 核心引擎 |
| 簡單 CSS 轉場 | WAAPI |
| 瀏覽器原生效能 | WAAPI |
引擎設定與效能
直接回答:
engine模組暴露全域設定,包括幀率上限(v4.3 中可達 240 FPS)、預設參數、播放時間單位,以及在文件隱藏時的自動暫停行為。
引擎設定
import { engine } from 'animejs';
engine.defaults = { duration: 500, ease: 'outQuad' }; // 全域預設
engine.useDefaultMainLoop = false; // 停用內建迴圈
engine.update(); // 手動更新影格
engine.pauseOnDocumentHidden = true; // 分頁隱藏時暫停
engine.timeUnit = 'ms'; // 'ms' 或 's'
engine.precision = 2; // 數值的十進位精確度
效能基準
Anime.js v4 的渲染引擎已針對大規模動畫進行最佳化:
| 情境 | 元素/補間 | 效能 |
|---|---|---|
| DOM 元素(CSS 變形) | 3000 個元素,6000 個補間 | 2019 年 Intel MacBook Pro 上 60 fps |
| three.js InstancedMesh | 50000 個網格值,100000 個補間 | 流暢 60 fps |
| WAAPI 路徑 | 因瀏覽器引擎而異 | 瀏覽器原生效能 |
| 引擎幀率上限(v4.3+) | – | 最高 240 fps |
| 最小捆綁(WAAPI) | – | 約 3 KB gzipped |
瀏覽器支援
| 瀏覽器 | 最低版本 |
|---|---|
| Chrome | 79+ |
| Edge | 79+ |
| Firefox | 71+ |
| Safari | 13+ |
Anime.js v4 不支援 Internet Explorer。
版本歷史:v4.2 與 v4.3
直接回答:v4.2 系列(2025 年 9 月)新增了彈簧
bounce、WAAPI 緩動、CSS 變數值以及子路徑匯入。v4.3 系列(2026 年 1 月至 2 月)新增了createLayout,將最大 FPS 提升至 240,並發布了多項錯誤修正。
該函式庫在 2025 和 2026 年期間保持活躍維護,發布節奏快速:
| 版本 | 日期 | 主要變更 |
|---|---|---|
| v4.0.0 | 2025 年 4 月 | 初始 v4 發布:模組化 API、新參數、時間軸、彈簧、拖曳、SVG、文字 |
| v4.2.0 | 2025 年 9 月 | 彈簧 bounce 參數、子路徑匯入、createSeededRandom、CSS 變數值、WAAPI 緩動 |
| v4.2.1 | 2025 年 10 月 | SVG createMotionPath 偏移、Draggable dragThreshold |
| v4.3.0 | 2026 年 1 月 20 日 | createLayout()、函式式緩動、時間軸合成、最大 FPS 120 -> 240 |
| v4.3.1 | 2026 年 1 月 21 日 | 錯誤修正:內聯標籤偵測與註解(Layout) |
| v4.3.2 | 2026 年 1 月 23 日 | 錯誤修正:來自 v4.3.1 的內聯標籤回歸 |
| v4.3.3 | 2026 年 1 月 23 日 | 函式式 from 值的重新整理支援、重新整理時的單位轉換、onResize 回呼 |
| v4.3.4 | 2026 年 1 月 24 日 | WAAPI 同步自動持久化、註解語法修正 |
| v4.3.5 | 2026 年 1 月 25 日 | Auto Layout 內聯回歸修正、背景顏色回歸修正 |
| v4.3.6 | 2026 年 2 月 14 日 | Auto Layout onScroll 同步修正 |
timeline
title Anime.js v4 發布時間軸(2025-2026)
April 2025 : v4.0.0 : 模組化 API 重寫
September 2025 : v4.2.0 : 彈簧彈跳、子路徑匯入
October 2025 : v4.2.1 : SVG 偏移、dragThreshold
January 2026 : v4.3.0 : createLayout、240 FPS
January 2026 : v4.3.1-3.5 : 錯誤修正系列
February 2026 : v4.3.6 : 滾動同步版面延伸閱讀與資源
- Anime.js 官方網站 – 完整文件、即時展示與遊樂場
- GitHub 儲存庫:juliangarnier/anime – 原始碼、議題與發布版本
- npm 套件:animejs – 最新版本與安裝
- Anime.js v4 重大變更 Wiki – 官方 v3 到 v4 遷移指南
- DeepWiki API 參考 – 社群維護的完整 API 文件
- libs.tech 上的 Anime.js – 依賴分析與捆綁體積分解
Anime.js 由 Julian Garnier 建立與維護,並以 MIT 授權釋出。本指南根據官方 animejs.com 文件、juliangarnier/anime GitHub 儲存庫以及社群資源編寫。最後更新於 2026 年 5 月 2 日。
