javascript - 如何设置动画状态完成

标签 javascript css vue.js css-animations

我创建了一个 slider 动画,如下所示:

@mixin progress {
  @-webkit-keyframes interval {
    from {
      width: 0;
    }
    to {
      width: 100%;
    }
  }
  animation: var(--duration) linear 0s interval;
  animation-play-state: var(--playState);
}
 .slider-item {
   @include progress;
 }

当点击事件触发时,我的任务是完成当前的 slider 动画。 我试图选择目标元素,例如:

this.$refs[`slider-item-${id}`]

尽管如此,动画属性仍然是空的,我在这里缺少什么吗?或者有更好的选择吗? (我试过 API https://developer.mozilla.org/en-US/docs/Web/API/Element/animate 没有成功)

最佳答案

尝试替换

animation: var(--duration) linear 0s interval;

animation: var(--duration) linear 10ms forwards;

将动画结束视为页面上剩余的最后一个状态。

关于javascript - 如何设置动画状态完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59520764/

相关文章:

javascript - webdriverio 元素在箭头函数内未定义

javascript - 在选择元素上的更改处理程序启用或禁用输入的表单上按 Tab 键时出现奇怪的输入焦点顺序

javascript - jQuery 在 slideDown/Up 期间滞后

javascript - Momentjs格式化力矩对象并保持偏移

javascript - 在移动页面上展开/折叠

javascript - 使用vue更改点击时的背景颜色

vue.js - VSCode 不在 .vue 文件中显示 HTML 属性,而是在 html 文件中显示

javascript - 为什么我的固定导航菜单在滚动时变成了 2 行?

javascript - 使用 JQuery Range Slider 实时更新 CSS 值

laravel - 使用条件仅为 Laravel Controller 中的管理员用户获取数据