行动画算法
行动画算法简述¶
统计信息:字数 1003 阅读3分钟
-
首先计算,修改前界面上的行 (oldRows)和修改后的行是哪些(newRows)
-
然后对这部分行数组集合运算:
A:交集:修改前后都在界面上的行
B:oldRows 有,newRows 没有:修改前存在,修改后不存在
C:oldRows 没有,newRows 有:修改前不存在,修改后存在
这样可以获得三个数组(集合)
-
先把 C 部分的行渲染到界面上,位置是不可见区域(例如屏幕下方 top: 1000)
-
执行动画
A: 始终在界面内部,计算前后的 top 差值,top1 - top 2。计算 top:假设某行的索引是 i,当前行高是 indent,不考虑分组,top = i * indent
B :直接移动到界面外,top2: 1000
C: 从界面外移动到界面内,top1: 1000
具体可以通过css或者JS实现动画效果
- 将 B 集合从数据层删除。数据层重新渲染,因为 top 不变,所以界面看起来没有变化,执行完成
Last update:
November 9, 2024