angularjs - 多方向angularjs View 动画

标签 angularjs css animation angular-ui-router ng-animate

目标:根据导航顺序向左或向右滑动的 angularjs View 之间的多向水平滑动动画。

问题:我找不到让 View 知道我正朝着实际可行的特定方向前进的好方法。

到目前为止我得到了什么: 参见 this codepen . 如果我们要根据导航中对象的顺序向后导航,我会将 back 类应用于正文。我使用此类告诉 View 在必要时进行反向动画。

$scope.$on('$stateChangeStart', function (event, toState, toParams, fromState, fromParams) {
    $scope.back = toParams.id < fromParams.id ? true : false;
});

为什么我认为它不起作用:“back”类没有应用于新插入的“ui-view”元素,因此它不服从 css。 p>

有人有什么想法吗?随意 fork 到 codepen...

最佳答案

这可能是一种解决方法,而不是执行此操作的正确方法。 我所做的是重新申请类(class)。我注意到动画仅在切换 back 类时发生。所以在状态改变开始时,我交换了 back 类并重新应用它。

    $scope.$on('$stateChangeStart', function (event, toState, toParams, fromState, fromParams) {
       $scope.back = $scope.back ? false : true;
       $timeout( function(){        
           $scope.back = toParams.id < fromParams.id ? true : false;
       }, 1);       
});

这是 pen .

关于angularjs - 多方向angularjs View 动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30791626/

相关文章:

angularjs - ng-submit 在表单提交后给出旧值

javascript - 将类别添加到标签

javascript - jQuery .show() .hide() 动画问题

jquery - ngAnimate 不适用于带有幻灯片动画的 ngIf

angularjs - Visual Studio 2013 无法将 "obj\Debug\.dll"复制到 "bin\Debug\.dll"。

javascript - 在自己的指令中包装 Angular.js ui-bootstrap 或 ui-select 指令

javascript - 为什么 ngRepeat 没有按预期生成有序列表?

html - 内联元素(如 span)没有默认样式

css - DIV 元素不接触

javascript - 计算 Javascript 时间与百分比之间的时间