【问题标题】:Prevent page from "jumping" to top on ng-view transitions防止页面在 ng-view 转换时“跳转”到顶部
【发布时间】:2014-03-27 21:52:54
【问题描述】:

我正在尝试在我的 Cordova/AngularJS 手机应用程序中实现具有原生外观的视图转换。

我有我想要的滑动效果,但有一个缺陷:当从高视图过渡到较短的视图时,当视口滚动到较短的底部时,视图的滚动位置被动画“到”从顶部滚出屏幕开始。然后视图“跳”到正确的位置。

I've made an example - noticeable when transitioning from Page 2 to Page 3

我正在使用以下 CSS 来转换我的视图:

.view-animate-container {
  position:relative;
  height:100%;
  width: 100%;
}

.view-animate.ng-enter, .view-animate.ng-leave {
  -webkit-transition: all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.3s;
  transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.3s;

  display:block;
  width:100%;

  position:absolute;
  top:0;
  left:0;
  right:0;
  bottom:0;
}

.rtl .view-animate.ng-enter {
  -webkit-transform: translate3d(100%, 0, 0);
}
.rtl .view-animate.ng-enter.ng-enter-active {
  -webkit-transform: translate3d(0, 0, 0);
}
.rtl .view-animate.ng-leave.ng-leave-active {
  -webkit-transform: translate3d(-100%, 0, 0);
}

.ltr .view-animate.ng-enter {
  -webkit-transform: translate3d(-100%, 0, 0);
}
.ltr .view-animate.ng-enter.ng-enter-active {
  -webkit-transform: translate3d(0, 0, 0);
}
.ltr .view-animate.ng-leave.ng-leave-active {
  -webkit-transform: translate3d(100%, 0, 0);
}

在我的视图转换动画开始之前,我该如何防止转换视图滚动到顶部?

I've made an example - noticeable when transitioning from Page 2 to Page 3

【问题讨论】:

    标签: angularjs css cordova


    【解决方案1】:

    在你的 ng-view div 上设置 autoscroll="false"

    【讨论】:

    • 不错的简单解决方案。
    • 当我将它应用于问题中提供的小提琴时不起作用:/
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-07
    • 2011-03-16
    • 1970-01-01
    • 2016-08-14
    • 1970-01-01
    相关资源
    最近更新 更多