前言
在現代網頁設計中,視覺效果和互動性已經成為提升使用者體驗的重要元素。當使用者向下滾動頁面時,如果某些區塊能夠平滑地出現、滑入、淡入或放大,能大大提升網站的專業感和吸引力。這類效果通常被稱為「滾動動畫」。
AOS (Animate On Scroll) 是一個輕量級的 JavaScript 函式庫,讓你可以輕鬆地為 HTML 元素加上動畫效果,並且在元素進入畫面時自動播放動畫。它不需要你手動寫 JavaScript 控制事件,也不依賴大型框架,學習曲線平緩,非常適合想快速加上動畫效果的開發者。
一、AOS 的特點
- 輕量:只有數十 KB,對效能影響小。
- 易於使用:只需要加幾個
data-aos
屬性在 HTML 元素上即可。 - 可自訂動畫:支援動畫類型、延遲時間、持續時間、執行次數等調整。
- 無框架依賴:可搭配純 HTML/CSS/JS 使用,也支援 React、Vue 等框架。
- 良好的瀏覽器支援:支援所有現代瀏覽器。
二、如何安裝 AOS
方法一:使用 CDN(最簡單方式)
在你的 HTML 檔案 <head>
加入 CSS:
<link href="https://unpkg.com/aos@2.3.4/dist/aos.css" rel="stylesheet"> |
在 <body>
結尾加入 JS:
<script src="https://unpkg.com/aos@2.3.4/dist/aos.js"></script> |
方法二:透過 npm 安裝(建議在模組化專案中使用)
npm install aos --save |
在你的 JavaScript 中引入與初始化:
import AOS from 'aos'; |
三、基本用法
只要在 HTML 元素上加入 data-aos
屬性即可。例如:
<div data-aos="fade-up"> |
常見的動畫效果:
效果名稱 | 說明 |
---|---|
fade | 淡入 |
fade-up | 向上淡入 |
fade-down | 向下淡入 |
fade-left | 向左淡入 |
fade-right | 向右淡入 |
zoom-in | 放大淡入 |
zoom-out | 縮小淡入 |
flip-left | 向左翻轉進場 |
slide-up | 向上滑入 |
slide-down | 向下滑入 |
四、進階設定
AOS 提供許多自訂參數,以下為常用屬性說明:
1. data-aos-duration
動畫持續時間(毫秒),預設為 400ms:
<div data-aos="fade-up" data-aos-duration="1000"> |
2. data-aos-delay
動畫延遲時間(毫秒),可用來讓多個元素依序出現:
<div data-aos="fade-up" data-aos-delay="0">第一個</div> |
3. data-aos-once
設定是否只執行一次動畫(預設為 false,表示每次滾動進入都會重新動畫):
<div data-aos="fade-up" data-aos-once="true"> |
4. data-aos-offset
控制動畫啟動前的滾動距離(單位:像素):
<div data-aos="fade-up" data-aos-offset="300"> |
五、實際範例
以下是一個完整的簡單 HTML 範例:
|
你可以將這段程式碼儲存為 HTML 檔案後,直接打開瀏覽器觀看滾動動畫效果。
六、常見問題與注意事項
AOS 沒有效果?
確認你有正確載入aos.css
和執行AOS.init()
。元素進入畫面但沒有動畫?
嘗試調整data-aos-offset
或確認元素是否真的進入視窗中。動畫無法重複?
預設會重複,除非你加上了data-aos-once="true"
。與 SPA 框架(如 React、Vue)整合時動畫失效?
動態渲染的頁面需在 DOM 更新完後重新執行AOS.refresh()
。
總結
AOS 是一個非常實用又容易上手的前端動畫工具。你不需要寫複雜的 JavaScript,只要加幾行 data-aos
屬性就能為你的網站加入吸引人的動態效果。無論是製作個人作品集、商業網站或展示頁面,AOS 都是快速提升視覺層次感的絕佳利器。
當你需要更細緻的動畫控制或複雜的交互邏輯,也可以進一步探索 GSAP
、ScrollMagic
等更強大的動畫工具。但若只是想快速達到流暢的滾動動畫,AOS 絕對是一個值得推薦的選擇。