我正在为 openui5/sapui5 实现一些自定义组件。
对于组件,我希望在最初加载时有一个 css 动画。这很简单,因为我添加了以下 css:
@-webkit-keyframes card-in-animation {
from {
-webkit-transform: translateY(50em) rotate(5deg);
opacity:0;
}
}
.card {
animation:card-in-animation 0.7s .2s ease-out both;
-webkit-animation:card-in-animation 0.7s .2s ease-out both;
}
当组件由于某种原因被 openui5 框架重新渲染时,就会出现问题。
然后销毁 DOM 元素并创建新元素。这会导致动画再次触发。
要在实践中看到这一点:
- 转到http://elsewhat.github.io/openui5-cards/cdn/latest/example3.html
- 初始动画根据需要触发
- 点击任意卡片右上角的菜单图标
- 触发了新的不需要的动画
在openui5中避免这种情况的首选方法是什么?