我正在寻找以平滑方式迁移 DOM 树的良好解决方案。让我们想象一下这样的 DOM 树,它显示了一个书籍列表:
<div class="books">
<div class="book">
<div class="title">Book 1</div>
...
</div>
<div class="book">
<div class="title">Book 2</div>
...
</div>
...
</div>
此列表应由我从服务器输入生成的新版本更新:
<div class="books">
<div class="book">
<div class="title">This is a new Book</div>
...
</div>
<div class="book">
<div class="title">Another book</div>
...
</div>
<div class="book">
<div class="title">Book 2</div>
...
</div>
...
</div>
我可以用新的结构替换整个结构。这会导致屏幕上的大闪烁,我想避免这种情况。我的目标是以递归方式遍历元素,并根据发现的旧结构和新结构之间的差异,我只会更新改变的元素。
该算法不是很容易以稳健的方式实现。这就是为什么我要问,是否有人知道可以实现这一目标的库。