【发布时间】:2015-04-04 20:12:47
【问题描述】:
我正在尝试通过路线更改将 DOM 元素从一个位置动画化到另一个位置。例如:
+------+
| o | (o = the element)
| |
| |
+------+
点击按钮,路线改变。在新模板上,按钮位于此处:
+------+
| |
| |
| o |
+------+
现在我有两个独立的视图 html 文件,按钮是两个独立的 DOM 元素。如何在路线更改期间将按钮从一个位置设置到另一个位置?
编辑:我构建了一个我想要完成的示例here。该示例中缺少的关键组件是两个页面位于同一条路线上。我想为这个跨路径的过渡制作动画,每个页面上都有完全不同的内容,除了一个常见的动画英雄元素。
我还发现我正在尝试做的术语是“英雄元素”并更新了问题标题。
【问题讨论】:
-
你可以用 css 做到这一点。只需在路由更改时为元素分配一些类并使用 css 转换
-
这并不是那么简单,因为元素在旧路由中被销毁并在新路由中构建。
-
使用 css 转换仍然很容易。只需在新路由加载时执行此操作
-
@ribsies 我在问题中添加了更多细节和示例,以便更好地了解我要创建的内容。
-
因此,您不仅要为元素设置动画,还要以某种方式将一个元素变形为完全不同的元素。这是不可能的。制作动画很简单,您将不得不重新考虑您想要做什么。
标签: javascript css angularjs css-animations