【问题标题】:Play CSS animation only once只播放一次 CSS 动画
【发布时间】:2019-03-21 00:03:03
【问题描述】:

1.div 容器在指令 (ng-show || ng-if) 显示时带有动画(过渡)。

2.由外部按钮控制的父div(添加样式属性display: nonedisplay: block

有问题:

如何只处理一次动画,当 1. - 显示时,但如果父级从 display: none 变为 display: block,则不要再次重复。

【问题讨论】:

标签: javascript css angularjs


【解决方案1】:

由于您的ng-show/ng-if 是由某些条件的更改触发的,您可以使用boolean 来确定显示是否为初始状态并将其设置在相同的上下文中。

然后您可以使用ng-class 将类初始添加到您的 div 并移动 css-transition 属性。

像这样:

HTML:

<div ng-class="{'initial': controller.initial}"></div>

CSS:

div.initial{
  transition: ...
}

JS/控制器:

functionThatSetsShowCondition(){
  controller.initial = true;
}

【讨论】:

  • 我自己解决了,你的答案最接近我的,因为我的情况比较复杂,所以我接受你的想法,使用第三个 var 控制动画 - 这是正确的方式!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-30
  • 2017-08-30
  • 1970-01-01
  • 2016-06-30
  • 1970-01-01
  • 2013-05-22
相关资源
最近更新 更多