如何防止动画在最初隐藏的元素上运行?

时间:2013-09-21 14:17:44

标签: angularjs angularjs-animation

我的问题类似于this onethis one,但涉及AngularJS 1.2.0中的新动画。

基本上,我的注册页面上有一堆元素最初是隐藏的,只有在特定表单元素无效时才显示(它们指向无效的表单元素并显示“密码需要至少为8”的消息字符“)。这些消息在显示/隐藏时淡入和淡出。

但是只要显示注册页面,元素就会可见并淡出。它们是短暂可见的(它们在屏幕上“闪烁”或“闪烁”,就像需要使用ng-cloak的情况一样)。

Here's是一名能够证明我正在经历的行为的掠夺者。在这个plunker中,我设置了一个基本路线(“登录”页面),其中包含一个框和一个切换框的可见性的按钮。注意单击运行时盒子如何淡出?它应该被隐藏起来。 (我故意将动画设置得很慢,这样你就可以看到动画发生了。)

如何阻止动画最初发生?

我尝试了什么:

  • 在动画元素上设置ng-cloak
  • 在添加了ng-cloak规则的情况下使用display: none !important。 (见this
  • 在元素上设置display: none,就好像它是元素的“初始设置”一样。 (见this

有趣的是,this plunker行为正常,动画最初不会发生。 此plunker不使用路由,控制器明确设置在body标签上。我想使用路由。

1 个答案:

答案 0 :(得分:1)

您正在使用的角度版本存在问题。 Angular animate在1.2中改变了很多,所以试试这个:

<script src="http://code.angularjs.org/1.2.14/angular.min.js"></script>
<script src="http://code.angularjs.org/1.2.14/angular-animate.min.js"></script>
<script src="http://code.angularjs.org/1.2.14/angular-route.min.js"></script>

检查一下,我把你的傻瓜分叉了

http://plnkr.co/edit/Mchjx51GREGU2Gj0NBXX?p=preview

相关问题