Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在Angular/Twitter引导中设置滑动列表(向上/向下)的动画?_Javascript_Css_Angularjs_Twitter Bootstrap_Css Animations - Fatal编程技术网

Javascript 如何在Angular/Twitter引导中设置滑动列表(向上/向下)的动画?

Javascript 如何在Angular/Twitter引导中设置滑动列表(向上/向下)的动画?,javascript,css,angularjs,twitter-bootstrap,css-animations,Javascript,Css,Angularjs,Twitter Bootstrap,Css Animations,帮助你的网络伙伴,好吗!:) 我试图在角度上做一个平滑的上下滑动列表,但我就是想不出来。我对CSS没有太多经验,我还在学习,但我尽了最大努力: HTML <div class="text-center" ng-app="myApp" ng-controller="ItemCtrl"> <!-- button up --> <button class="btn btn-success" ng-click="up()">up</button>

帮助你的网络伙伴,好吗!:)

我试图在角度上做一个平滑的上下滑动列表,但我就是想不出来。我对CSS没有太多经验,我还在学习,但我尽了最大努力:

HTML

<div class="text-center" ng-app="myApp" ng-controller="ItemCtrl">

  <!-- button up -->
  <button class="btn btn-success" ng-click="up()">up</button>

  <div style="width: 25%;margin-left: 37%" class="bg-info p-3 container">
    <ul class="list-group">

      <!-- list item to be animated -->
      <li class="list-group-item m-1" ng-class="slide=='up' ? 'slide-up':'slide-down '" ng-repeat="item in items">
        {{item}}
      </li>

    </ul>
  </div>

  <!-- button down -->
<button class="btn btn-success" ng-click="down()">down</button>  

</div>
JS

.slide-up.ng-enter {
    animation: slideInDown 1s;
  -webkit-animation: slideInDown 1s;
}


.slide-up.ng-leave {
    animation: slideOutDown 1s;
  -webkit-animation: slideOutDown 1s;

}

.slide-down.ng-enter {
    animation: slideInUp 1s;
  -webkit-animation: slideInUp 1s;
}

.slide-down.ng-leave {
    animation: slideOutUp 1s;
  -webkit-animation: slideOutUp 1s;

}
angular.module('myApp', ['ngAnimate'])
.controller('ItemCtrl', function($scope) {
  $scope.items = [1,2,3,4,5];



  $scope.up = function() {
    $scope.slide='up';
      $scope.items.splice($scope.items.length-1, 1);
      $scope.items.unshift($scope.items[0]-1);
  }

    $scope.down = function() {
      $scope.slide='down';
      $scope.items.splice(0, 1);
      $scope.items.push($scope.items[$scope.items.length-1]+1);
  }
});
要删除的列表项在动画完成之前仍会占用空间,这看起来不太好。关于我应该如何处理这个问题,有什么建议吗?有没有更好的方法在angular中设置列表项的动画


提前谢谢

我不太明白你的意思。如果需要防止删除项目的动画,请执行以下操作:

CSS

更新

我想我找到了你要找的东西

您可以使用ng使幻灯片保持绝对位置,这样不会占用空间

.slide-up.ng-leave {
   position: absolute;
   bottom: 0px;
   left: 0;
   width: 100%;
   animation: slideOutDown 1s;
   -webkit-animation: slideOutDown 1s; 
 }


.slide-down.ng-leave {
  width: 100%;
  top: 0;
  left: 0;
  position: absolute;
  animation: slideOutUp 1s;
  -webkit-animation: slideOutUp 1s;
 }
别忘了这一点

 ul {
    position: relative;
    padding-left: 0;
    margin-left: 0;
    height: 100%;
    overflow: hidden;
 }

 ul {
    position: relative;
    padding-left: 0;
    margin-left: 0;
    height: 100%;
    overflow: hidden;
 }