7.2 AOS
Last updated
Last updated
官網:https://michalsnik.github.io/aos/
說明文件:https://github.com/michalsnik/aos
在螢幕畫面中上下滑動頁面時,滑到指定位置,觸發動畫效果。
官方提供的初始化:
data-aos:套用哪個動畫效果,官方提供。
在想要套用的元素上,加上 data-aos 屬性及動畫效果,例:
最後再執行以下 JS 程式:
data-aos-easing:官方提供。ease 是預設。
data-aos-duration:0 ~ 3000 毫秒。400 是預設。
data-aos-delay:0 ~ 3000 毫秒。0 是預設。
data-aos-once:是否僅執行一次( true 或 false )。false 是預設。
藉由以下範例,自行測試上述四個屬性:
data-aos-offset:預設是 120,單位是px。當螢幕的下方經過該元素之後,這 120 指的是該元素的上方、螢幕的底部,距離是 120px 時,會觸發動畫效果。
以下範例請將 data-aos-offset
由 120 改為 0,觀察看看,也就是該元素的上方、螢幕的底部碰到的時候,就觸發動畫效果。
data-aos-anchor-placement
:預設值是 top-bottom
,第一個 top 指的是該元素的上方,第二個 bottom 指的是螢幕的下方。分別可以各自改成 top
、center
、bottom
的組合(例 center-center
),以達成該元素的哪個位置碰觸到螢幕的哪個位置時,觸發動畫效果。
以下例子 data-aos-offset
設定成 0,data-aos-anchor-placement
沿用預設值 top-bottom
,以便觀察:
改成 top-center
(該元素的上方、螢幕的中間),然後自己做一個動畫效果的「觸發提示線」,以便觀察:
data-aos-anchor
:將該元素的觸發位置,改由另一個元素去決定觸發時機。
以下例子碰到黃色區域的時候,紅色元素的動畫效果就會觸發:
撰寫如下 css( 屬性 data-aos 等於 rotate-animation ,創造一個旋轉 360 度的動畫效果),接下來直接在標籤加上 data-aos 屬性,然後再加上 rotate-animation
的值,就可以創造自訂的動畫效果了:
觀察:在動畫效果觸發的時候,會自動加上 aos-animate
樣式。
撰寫如下 css( 屬性 data-aos 等於 my-blink-animation ,創造閃爍效果),接下來直接在 data-aos 屬性上,加上 my-blink-animation
的值,就可以創造自訂的 keyframes 動畫效果了: