我需要多个div同时淡出。
动画已经实现了10个不同的div。
当动画被触发时,它完全正常,除非它不适用于具有相同代码的1 div。
这是动画代码:
trigger('fadeInOut', [
state('hide', style({
opacity: 0,
display: 'none'
})),
state('display', style({
opacity: 1,
display: 'inline'
})),
transition('display => hide', animate('100ms ease-out')),
transition('hide => display', animate('100ms ease-out'))
])
这是html部分
<a href="#" class="list-group-item" data-parent="#sidebar">
<div class="icon-container">
<i class="fa fa-briefcase"></i>
</div>
<div class="fadable" [@fadeInOut]='fadeState'>
<span>Projects</span>
<span class="expand-icon">
<i class="fa fa-plus-square-o"></i>
</span>
</div>
</a>
还有其他10个锚具有相同的代码......
有人可以帮忙吗?
答案 0 :(得分:0)
几天来我遇到了同样的问题,现在我为我解决了。 我也有两个元素,其中设置了相同的动画触发器。第一个动画正确,但另一个动画甚至没有开始。 (并分配了“ ng-animate-queued”类)
在我的案例中,问题在于,第二个元素必须同时动画( @bounce ),父容器也播放动画( @galleryShadow ),这迫使内部元素等待(可能是Angular动画引擎的性能决定?)。
自从我在Angular Animations: Animate Parent and Child Elements处找到了可能的解决方案以来。 我试图对外部动画进行分组以查询内部触发器,并为其调用animateChild()。
它解决了我的问题。也许它可以帮助您或任何其他面对这种行为的人(例如我)。
trigger('galleryShadow', [
state('stage-chosen', style({ display: 'none', transform: 'translateX(100%)' })),
state('compare-chosen', style({ display: 'none', transform: 'none' })),
state('presenting', style({ display: '*', transform: 'translate(50%)' })),
transition('compare-chosen => presenting', [
style({ display: '*', transform: 'translateX(100%)' }),
group([
query('@bounce', animateChild()),
animate('200ms ease-out')
]),
]
),
transition('stage-chosen => presenting', [
style({ display: '*' }),
group([
query('@bounce', animateChild()),
animate('200ms ease-out')
]),
]
),
transition('presenting => stage-chosen', animate('400ms ease-in')),
transition('presenting => compare-chosen', animate('400ms ease-in'))
])