【发布时间】:2013-07-11 04:03:53
【问题描述】:
我有一个从服务器动态检索存储消息的系统,它的视图是:
<div id= "messages" data-ng-controller="MessageController">
<div class="message" data-ng-repeat="message in messages | orderBy:'timestamp':true" data-ng-animate="'animate-message'" >
<div class="user">
{{ message.user.username }}
</div>
<div class="title">
{{ message.title }}
</div>
<div class="content" data-ng-bind-html-unsafe="message.content">
{{ message.content }}
</div>
</div>
</div>
然后我的 CSS 文件中有:
.animate-message-enter {
transition: 1s linear all;
-moz-transition: 1s linear all;
-webkit-transition: 1s linear all;
-o-transition: 1s linear all;
-ms-transition: 1s linear all;
opacity:0;
position:relative;
left:-100%;
}
.animate-message-enter.animate-message-enter-active {
opacity:1;
left:0%;
}
(这只是一个极端的过渡示例,所以我可以看到过渡正在工作)
但是,当通过$scope.messages.push(response); 将新对象输入到数组中时,新消息只会弹出到页面上并且没有动画发生,有人知道我搞砸了什么吗?
谢谢:)
【问题讨论】:
-
如果我没记错的话,转换简写的语法应该是
all 1s linear。尝试修复它,如果它有效,让我。 -
没有变化。仍然是相同的即时弹出。不过还是谢谢:)
-
css 看起来不错。可能是你的 orderBy - 拿出来看看会发生什么。
-
啊.. 似乎我没有更新加载角度的文件以使用最新版本而不是没有动画的稳定版本。但是现在我只是偶尔会出现动画..
标签: css angularjs css-transitions