來點動態和互動,讓網頁動次動 #1 - 視差滾動與 AOS 套件

更新於 發佈於 閱讀時間約 3 分鐘

一個超簡單就能達到滾動視差的套件 AOS

安裝 AOS

一、載入 CDN

AOS 有提供 npm, yarn, bower 和 CDN 安裝,此處先以 CDN 為主,需要同時載入 CSS 和 JS檔案

  • 引入 CSS:加入在 HTML 的 head 標籤裡面,但必須放在自定義的 CSS 前方
<link href="https://unpkg.com/aos@2.3.1/dist/aos.css" rel="stylesheet">
  • 引入 JS:加入在 HTML 的 body 標籤裡的最後方,但必須放在自定義的 JS 檔案前方
<script src="https://unpkg.com/aos@2.3.1/dist/aos.js"></script>

二、在 JS 檔案中初始化 AOS

AOS.init();

基本使用方式

僅使用 AOS 預設動畫,只需要將 AOS 定義好的屬性和對應的值加入到 HTML 文件中,以下是常見的 AOS 屬性名稱:

  • data-aos:AOS 動畫名稱,可以到官方網站看看套用後的效果
  • data-aos-easing:速度曲線
  • data-aos-duration:動畫執行時間,預設值為 1000 毫秒,可寫入值為 50 毫秒 ~ 3000 毫秒(1 秒等於 1000 毫秒),若要想要更多秒數可以透過 CSS 寫入,詳見官方說明
  • data-aos-delay:動畫延遲執行的時間
  • data-aos-offset:偏移量,預設為 100px,如果設為 0 元素就不會偏移
  • data-aos-anchor-placement:觸發動畫的錨點位置
<div data-aos="fade-down"
data-aos-easing="linear"
data-aos-duration="1500">
</div>

更多 data-aosdata-aos-easingdata-aos-anchor-placement 所對應的屬性值可以查看官方文件

AOS 加入自定義設定

一、自定義綁定觸發動畫的元素

  • data-aos-anchor:指定好觸發對象後,可以透過此屬性將觸發對象綁定在被觸發對象上
<div>1</div>
<div>2</div>
<div id="cat">3</div> //碰到此元素時會觸發底下的 #cat 元素
<div>4</div>
<div>5</div>

//被觸發對象,透過 data-aos-anchor 綁定
<div ​data-aos-anchor="#cat">
<img src="cat.jpg" alt="cat">
</div>

二、自定義動畫到 AOS 中

主要透過 CSS 改變

  • [data-aos: name]:自定義的 AOS 名稱,可以寫入元素尚未加入動態前的狀態
  • .aos-animate:元素加入動畫後的最終狀態

一開始看官方文件我也很疑惑 .aos-animate 這個 class 到底哪來的,後來在範例網頁中打開開發者工具,才發現是元素套用 AOS 後,會在觸發時動態新增上去的 class

今天就介紹到這邊,大家可以試試看為自己的網頁加入動態哦~

參考資料

avatar-img
7會員
30內容數
正在一點一滴學習程式,相信知識量總有一天會匯聚成大海,目前專門研究前端中。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
傑米的沙龍 的其他內容
切版有許多眉角需要注意,來探討那些經常導致切版結果與設計稿產生落差的原因。 一、文字的高度本體是 line-height:🔍 文字所佔據的高度不是由font-size決定,而是line-hight。一開始練習切版時,都想著設定好字的尺寸和字重就 ok 了吧?殊不知這是造成切出來的網頁與設計
題目:你將會得到一個單詞,你的任務是返回該單詞的中間字符。如果單詞的長度是奇數,則返回中間字符。如果單詞的長度是偶數,則返回中間的兩個字符。
在談到閉包前,要先談談範圍鏈,在 ES6 以前,變數透過 var 宣告,當時切分變數的最小單位為「函式」,有以下特性需要留意:內層可以取得外層的變數,但外層無法取得內層變數,在「定義」函式時就決定了範圍鏈,而非執行時
題目:完成解決方案,當第一個參數(String 型別)以第二個參數結尾時(也是 String 型別)返回 true。
這篇主要會透過 CDN 引入 Material Icons,並補足官方文件裡只有提到 Filled 類別的引用方式,但沒有提到其他類別,像是 Outlined、Rounded、Sharp、Two tone,另外還會提到如何透過偽元素加入 Material Icons,現在我們就來看看如何引入吧!
提升(Hoisting) 指的是在創造環境階段時就把變數準備好,這時值還沒被賦予到變數上。此類型的概念可以使用執行環境的「創造階段」與「執行階段」來理解。
切版有許多眉角需要注意,來探討那些經常導致切版結果與設計稿產生落差的原因。 一、文字的高度本體是 line-height:🔍 文字所佔據的高度不是由font-size決定,而是line-hight。一開始練習切版時,都想著設定好字的尺寸和字重就 ok 了吧?殊不知這是造成切出來的網頁與設計
題目:你將會得到一個單詞,你的任務是返回該單詞的中間字符。如果單詞的長度是奇數,則返回中間字符。如果單詞的長度是偶數,則返回中間的兩個字符。
在談到閉包前,要先談談範圍鏈,在 ES6 以前,變數透過 var 宣告,當時切分變數的最小單位為「函式」,有以下特性需要留意:內層可以取得外層的變數,但外層無法取得內層變數,在「定義」函式時就決定了範圍鏈,而非執行時
題目:完成解決方案,當第一個參數(String 型別)以第二個參數結尾時(也是 String 型別)返回 true。
這篇主要會透過 CDN 引入 Material Icons,並補足官方文件裡只有提到 Filled 類別的引用方式,但沒有提到其他類別,像是 Outlined、Rounded、Sharp、Two tone,另外還會提到如何透過偽元素加入 Material Icons,現在我們就來看看如何引入吧!
提升(Hoisting) 指的是在創造環境階段時就把變數準備好,這時值還沒被賦予到變數上。此類型的概念可以使用執行環境的「創造階段」與「執行階段」來理解。
你可能也想看
Google News 追蹤
Thumbnail
/ 大家現在出門買東西還會帶錢包嗎 鴨鴨發現自己好像快一個禮拜沒帶錢包出門 還是可以天天買滿買好回家(? 因此為了記錄手機消費跟各種紅利優惠 鴨鴨都會特別注意銀行的App好不好用! 像是介面設計就是會很在意的地方 很多銀行通常會為了要滿足不同客群 會推出很多App讓使用者下載 每次
Thumbnail
在這一章中,我們介紹了 CSS 的過渡效果和動畫效果。過渡效果使 CSS 屬性的變化更加平滑,而動畫效果則允許我們更精細地控制元素的多個屬性隨時間變化的過程。我們通過基本語法和示例展示了如何使用這些效果,並提供了一個綜合應用的實踐案例來幫助理解。這些技術可以讓你的網頁更具互動性和動態效果。
Thumbnail
什麼是最近火紅的Actions & Blinks? 他的優點是什麼?目前存在什麼問題?本篇文章將會以圖文介紹Actions & Blinks的原理並講講我對此技術的看法
在上篇瞭解完Actions & Blinks的整個工作流程後,我們就來學習如何用程式碼構建屬於自己的Actions & Blinks吧!本篇詳細講解了要自製Actions & Blinks的所有步驟並提供範例程式碼給大家參考,相信能讓大家快速入門!
Thumbnail
本文介紹了在After Effects中使用表達式為圖層添加延遲效果的方法,通過根據層的索引相對於其父層的索引來計算延遲時間,並應用到層的位置屬性上,可以創建連續的延遲效果,使每個層根據其索引值產生不同的延遲,形成鏈條效應。
介紹如何在模擬物體運動時,引入加速度這個物理量。
Thumbnail
在 After Effects 中,彈跳效果(Bounce Expression)可以讓層看起來像是受到彈簧或重力的影響,常用於創建自然的運動效果。這些表達式可以應用於位置(Position)、比例(Scale)、透明度(Opacity)等屬性。
Thumbnail
Adobe After Effects 中,LoopOut 是一個非常有用的表達式,用於創建層屬性(如位置、旋轉、透明度等)的循環動畫。這個表達式可以幫助設計師自動重複一段關鍵幀動畫,而不需要手動複製和粘貼這些幀。 指令基本樣式 loopIn(type="cycle", numKeyfram
Thumbnail
分享一個有趣的套件,名為 await-to-js。 可以讓 Promise 與 await 的寫法更簡潔。
Thumbnail
Ae 小技巧:Adjustment Layer 調整圖層 動態後記系列會記錄一些我在製作中的記錄,可能是分解動畫、小技巧、發想、腳本......等等。 每篇都是小短篇,就是補充用的小筆記,沒有前後順序,可跳著閱讀。
Thumbnail
什麼是 CSS 預處理器 CSS 預處理器是一種工具,使用專門的語法來生成 CSS 樣式表。市面上有許多 CSS 預處理器可供選擇,它們通常會提供一些純 CSS 中沒有的功能,例如變數、混入、巢狀選擇器等。這些功能可以使 CSS 結構更易讀、更易於維護,並提高開發效率。 為什麼使用 CSS 預處
Thumbnail
/ 大家現在出門買東西還會帶錢包嗎 鴨鴨發現自己好像快一個禮拜沒帶錢包出門 還是可以天天買滿買好回家(? 因此為了記錄手機消費跟各種紅利優惠 鴨鴨都會特別注意銀行的App好不好用! 像是介面設計就是會很在意的地方 很多銀行通常會為了要滿足不同客群 會推出很多App讓使用者下載 每次
Thumbnail
在這一章中,我們介紹了 CSS 的過渡效果和動畫效果。過渡效果使 CSS 屬性的變化更加平滑,而動畫效果則允許我們更精細地控制元素的多個屬性隨時間變化的過程。我們通過基本語法和示例展示了如何使用這些效果,並提供了一個綜合應用的實踐案例來幫助理解。這些技術可以讓你的網頁更具互動性和動態效果。
Thumbnail
什麼是最近火紅的Actions & Blinks? 他的優點是什麼?目前存在什麼問題?本篇文章將會以圖文介紹Actions & Blinks的原理並講講我對此技術的看法
在上篇瞭解完Actions & Blinks的整個工作流程後,我們就來學習如何用程式碼構建屬於自己的Actions & Blinks吧!本篇詳細講解了要自製Actions & Blinks的所有步驟並提供範例程式碼給大家參考,相信能讓大家快速入門!
Thumbnail
本文介紹了在After Effects中使用表達式為圖層添加延遲效果的方法,通過根據層的索引相對於其父層的索引來計算延遲時間,並應用到層的位置屬性上,可以創建連續的延遲效果,使每個層根據其索引值產生不同的延遲,形成鏈條效應。
介紹如何在模擬物體運動時,引入加速度這個物理量。
Thumbnail
在 After Effects 中,彈跳效果(Bounce Expression)可以讓層看起來像是受到彈簧或重力的影響,常用於創建自然的運動效果。這些表達式可以應用於位置(Position)、比例(Scale)、透明度(Opacity)等屬性。
Thumbnail
Adobe After Effects 中,LoopOut 是一個非常有用的表達式,用於創建層屬性(如位置、旋轉、透明度等)的循環動畫。這個表達式可以幫助設計師自動重複一段關鍵幀動畫,而不需要手動複製和粘貼這些幀。 指令基本樣式 loopIn(type="cycle", numKeyfram
Thumbnail
分享一個有趣的套件,名為 await-to-js。 可以讓 Promise 與 await 的寫法更簡潔。
Thumbnail
Ae 小技巧:Adjustment Layer 調整圖層 動態後記系列會記錄一些我在製作中的記錄,可能是分解動畫、小技巧、發想、腳本......等等。 每篇都是小短篇,就是補充用的小筆記,沒有前後順序,可跳著閱讀。
Thumbnail
什麼是 CSS 預處理器 CSS 預處理器是一種工具,使用專門的語法來生成 CSS 樣式表。市面上有許多 CSS 預處理器可供選擇,它們通常會提供一些純 CSS 中沒有的功能,例如變數、混入、巢狀選擇器等。這些功能可以使 CSS 結構更易讀、更易於維護,並提高開發效率。 為什麼使用 CSS 預處