如何使用Angular在按钮单击时激活CSS动画?

时间:2017-01-21 22:30:18

标签: javascript css angularjs

我想使用Angular函数来激活Css动画。我已经找到了这样做的方法,但我真的很困惑如何在我的情况下这样做。当点击其中一个按钮“B1”或“B2”时,我希望div“slide1”水平向右滑动。

这是我的角色功能:

directive('click2', () => {
  return{
    restrict: 'A',
      link: (scope) => {
        scope.clicked = () => {

        }
      }
  }
})

我的幻灯片是:

.slide1 {
  bottom: -500px;
  width: 30%;
  //min-width: 275px;
  height: 50%;
  min-height: 390px;
  box-sizing: border-box;
  position: relative;
  content: '';
  background: #a2e0f7;
  animation:nudge 5s linear alternate;
}

@keyframes nudge {
  0%{
    right: 500px;
  };
  100% {
    transform: translate(500px);
   }
  50% {

    transform: translate(0,0);
  }
}

有关如何使用我的Angular函数单击Slide1 div的任何帮助吗?

1 个答案:

答案 0 :(得分:2)

一种简单的方法是将类动态添加到div

这样做的一种方法是:

<div ng-controller="MyCtrl">
  <button ng-click="doSlide = !doSlide">A</button>
  <button ng-click="doSlide = !doSlide">B</button>
  <div ng-class="{'slide1': doSlide}">Click a button to move me</div>
</div>

单击任一按钮将切换doSlide值。当doSlidetrue时,slide1类会添加到div

注意:没有必要在控制器中定义doSlide,Angular会自动将其添加到范围内。