制作AngularJS路线之间的英雄元素动画
Animate hero elements between AngularJS routes
我正在尝试通过路由更改将DOM元素从一个位置动画化到另一个位置。例如:
+------+
| o | (o = the element)
| |
| |
+------+
单击按钮,更改路线。在新模板上,按钮在下面:
+------+
| |
| |
| o |
+------+
现在,我有两个单独的视图html文件,按钮是两个独立的DOM元素。在路线更改过程中,如何设置按钮从一个位置到另一个位置的动画?
编辑:我在这里建立了一个我想要实现的目标的例子。示例中缺少的关键组件是这两个页面位于同一路线上。我想为这个跨路线的过渡设置动画,除了一个常见的动画英雄元素外,每个页面上都有完全不同的内容。
我还发现我想做的是"英雄元素",并更新了问题标题。
查看本教程(也可以使用现成的组件),它在不同视图之间为英雄元素设置动画,并维护正确的路线。
http://blog.scottlogic.com/2014/12/19/angular-hero-transitions.html
总之,英雄元素必须存在于转换的两种观点之间。转换时,英雄元素会暂时隐藏在目标视图中,直到位置动画结束。如果直接加载目标视图(刷新、书签),则不会发生动画,英雄元素也会出现。
假设您使用的是angularjs,
您可以只在那个html中创建子路由,也可以将那个小子路由换成模板。
或者u可以用ng开关来做ng include,让按钮来做,而不是整个html。
编辑:我为你做了一个jsbin。希望这能有所帮助。
jsbin
相关文章:
- CKEditor Widget-阻止编辑可编辑元素本身
- 如何设置html元素填充的动画
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 使用clickToggle并在单击另一个元素时关闭元素
- 单击时将焦点更改为元素
- 表追加而不附加最后一个元素
- 如何在jQuery中获取元素的形式
- 我可以获得相对于被点击元素的确切点击位置吗
- 在函数中添加数组元素的数值
- 在单击任何位置时隐藏元素,而不检查每次DOM单击
- 将视口底部滚动到元素底部
- 是否有任何snippet或jQuery插件可以列出easylist.txt模式匹配的DOM中的所有元素
- 在不使用JQuery的情况下隐藏DOM中的选定元素
- 如何使用jquery处理php循环通过元素
- Ckeditor-plugin:插入虚假元素add不情愿<p>标签前后
- JQuery添加元素需要在我的js之前再次添加JQuery脚本
- 在Jquery detachment()和appendTo()之后定位元素
- 在动态创建的元素上获取对特定选择器的引用
- 制作AngularJS路线之间的英雄元素动画