2

我是 Angular 的新手,我试图不依赖 jQuery 来实现我想要的这个淡入淡出动画。

我已经尝试过 ng-animate 和 .fade-enter + .fade-enter.fade-enter-active,但我一无所获。

我的页脚 CSS 如下所示:

footer {
  opacity: 0.3;
  text-align: center;
}

我正在尝试对其进行动画处理,以使不透明度在 2 秒内变为 1。

这是我正在运行的 Angular 版本:

<script data-require="angular.js@1.1.5" data-semver="1.1.5" src="http://code.angularjs.org/1.1.5/angular.min.js"></script>

我将如何使用 Angular 和 CSS 而没有 jQuery 来制作这个动画?

4

2 回答 2

3

以下是如何在 Angular 1.1.5 中制作淡入/淡出动画的示例:

HTML

<body ng-init="visible = true">
  <button ng-click="visible = !visible">Show/Hide</button>
  <p ng-show="visible" ng-animate="'fade'">Hello {{name}}!</p>
</body>

CSS

.fade-hide, .fade-show {
  -webkit-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s;
  -moz-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s;
  -o-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s;
  transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s;
}

.fade-hide {
  opacity:1;
}

.fade-hide.fade-hide-active {
  opacity:0;
}

.fade-show {
  opacity:0;
}

.fade-show.fade-show-active {
  opacity:1;
}

Plunker在这里

这篇博文有很好的关于 Angular 1.1.5 中动画的信息。我建议看看Angular 1.2 RC1 中发布的新动画系统。

于 2013-08-24T20:32:57.877 回答
0

您需要的关于动画的所有内容都可以在他们的文档中找到

HTML

<div ng-init="checked=true">
  <label>
    <input type="checkbox" ng-model="checked" style="float:left; margin-right:10px;"> Is Visible...
  </label>
  <div class="check-element sample-show-hide" ng-show="checked" style="clear:both;">Visible...</div>
</div>

CSS

.sample-show-hide {
  padding:10px;
  border:1px solid black;
  background:white;
}

.sample-show-hide {
  -webkit-transition:all linear 0.5s;
  transition:all linear 0.5s;
 }

.sample-show-hide.ng-hide {
   opacity:0;
}

来源:https ://docs.angularjs.org/guide/animations

于 2015-01-14T17:48:11.690 回答