FLIP
First, Last, Invert, Play
處理「位置變化補間動畫」的常見技術
在列表項目改變位置時,不是瞬間移動,而是根據「原本位置→最終位置」做補間動畫
2020-09-06 FLIP 动画初步 - Nicodechal
2022-03-22 前端动效之 FLIP 的技术原理 - Shouduo's blog
2020-03-20 Animating Layouts with the FLIP Technique | CSS-Tricks
How the FLIP technique works
在資料驅動的排序改變時,於DOM改變後、瀏覽器渲染前,加上一段「從何而來」的動畫
First
發生移轉的元素A的初始狀態
例如:透明度0、x-100、y-100
Last
發生移轉的元素A的最終狀態
例如:透明度1、x0、y0
Invert
從元素A的初始狀態與最終狀態,推算出之間的移動變化
DOM元素屬性的改變會延遲到下一幀統一算繪
因此會發生DOM結構已經改變,但瀏覽器還沒算繪的狀況
故可從此得到DOM狀態變更後的位置
Play
瀏覽器開始算繪First移動到Last的過程
2024-09-04 JavaScriptで実現するFLIPアニメーションの原理と基礎 - ICS MEDIA
JavaScript
SolidJS
solidjs-community/solid-transition-group: SolidJS components for applying animations when children elements enter or leave the DOM.