栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

反应动画将元素从一个父对象移动到另一个父元素

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

反应动画将元素从一个父对象移动到另一个父元素

不,那不可能

无法以这种方式进行动画处理,因为DOM认为您要先删除a

div
然后再添加new
div
。即使与
div
您相同,DOM也没有该上下文。动画是通过更改CSS(而不是HTML)来控制的。

…但是这是怎么做的

如果您实际上需要两个列表都保留在不同的

div
s中,那么您可以执行以下操作之一:

  1. 使动画
    old item
    到该
    new item
    位置,然后删除
    old item
    并显示
    new item
  2. 删除
    old item
    并在原处创建一个
    new item
    old item
    然后将其移动到该
    new item
    位置。

相同的概念,两种实现方式。

我修改了您现有的示例,以显示选项2 的 简化
版本。请注意,要做出许多动画决定,例如列表变小时会发生什么,项目应如何从红色变为绿色等,而我没有不要试图客观地解决它们。同样,如果您可以将

item
两个列表的所有s都放在一个
div
中并控制它们的位置,则将容易得多
absolute
。但是如果他们需要结束于单独
div
的…

https://prepen.io/sallf/pen/VgBwQr?editors=0010

这是怎么回事

  1. 添加
    transition
    .item
    我们可以让动画发生时,我们作出调整
    transform
    财产。
  2. 点击项目后,我们会更新状态列表并添加…
  3. transition.item
    知道哪个项目正在制作动画…
  4. transition.startTop
    知道
    y
    项目应相对于要移动的列表底部的偏移位置,并…
  5. transition.startAnim
    作为控制动画的标志。
  6. 由于
    transition
    s需要先进行更改才能进行动画处理,因此我们
    setTimeout
    可以延迟更改,
    transition.startAnim
    这基本上会导致动画从计算位置返回
    0


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/398008.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号