【问题标题】:Angular JS have pages from 2 different states visible during state transition ( for animation purpose )Angular JS 在状态转换期间有来自 2 个不同状态的页面(用于动画目的)
【发布时间】:2015-02-20 10:20:16
【问题描述】:

我需要在加载不同页面时创建过渡动画,例如 当用户离开一个页面时,其他页面会通过动画“位置:相对;左:n px”从屏幕外位置开始并移动到视图中来过渡。当新视图完成过渡并覆盖旧视图时,可以丢弃旧视图。

动画本身很简单。问题是 Angular 会立即破坏旧视图,因此我无法在其上运行任何动画。

我怎样才能使这样的过渡工作?

【问题讨论】:

  • 你看过this documentation。似乎角度会在进入和离开时都进行转换,所以它应该适合你。

标签: javascript html angularjs angular-ui-router


【解决方案1】:

如果此页面上的最后一个示例与您所描述的内容相近:https://docs.angularjs.org/api/ngRoute/directive/ngView,我认为 Angular 不会立即破坏旧视图,而只会在转换之后。在视图转换期间,“view-animate-container”将类“ng-leave ng-leave-active”附加到旧/当前视图“view-animate”。新视图“view-animate”添加了类“ng-enter ng-enter-active”。

AngularJS 文档目前有

.view-animate.ng-leave.ng-leave-active {
  left:-100%;
}

隐藏它。所以为了在过渡期间看到旧视图,你只需要将“ng-leave.ng-leave-active”的css修改成这样

.view-animate.ng-leave.ng-leave-active {
  left:0;
  opacity: 0;
}

【讨论】:

    猜你喜欢
    • 2021-12-20
    • 1970-01-01
    • 2021-07-30
    • 2019-03-18
    • 2016-05-18
    • 1970-01-01
    • 1970-01-01
    • 2021-12-27
    • 1970-01-01
    相关资源
    最近更新 更多