iT邦幫忙

2022 iThome 鐵人賽

DAY 15
0

今天來介紹一個今年年初寫的一個小專案。

對哈利波特熟悉的人應該有聽過這本日記,它可以回應其他人在上面寫的字。寫在日記本上面的字會慢慢褪去,然後躲在日記背後的人會回應你。當初看到電影的時候對那個呈現的特效印象特別深刻,後來學習網頁前端技術之後,就想說也許有天可以把那個感覺呈現出來。但我目前還是沒辦法做出對話的感覺,除非真的有另一個人打字回應你才有可能。

但光是做出讓字經過一段時間消失的效果我就覺得蠻帥的了,現在想想這大概就是做前端會讓人有成就感的高光時刻吧


原理簡介:

主要是利用 CSS 的 animations 效果

@keyframes fade-out {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

div.fade-text {
  animation: fade-out 10s ease-in forwards;
}

首先我定義了 fade-out 的影格事件,然後我在 div.fade-text 底下宣告它的動畫屬性,使用定義好的 fade-out @keyframes 然後暫停 10 秒才開始播放,ease-in 是速度漸增,forwards 往前播放。

然後我用 javascript 將對應的 div 套上 fade-text class,它就會開始播放動畫特效,產生文字消失的效果。

如果想要在動畫播完之後做一些網頁操作的話,可以監聽 "animationend" 這個事件。

講那麼多沒有提供成品實在沒有感覺,所以附上最終作品,大家可以自己玩玩看,感受一下 :)

還有一些小彩蛋留在程式碼裡面,有興趣的話可以自己看看,今天就這樣囉,謝謝縮看


上一篇
拾肆。如果寫程式就像講話一樣? - REPL 開發模式
下一篇
拾陸。書籤小工具 - 一鍵複製網址和標題
系列文
程式小萌新的學習筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言