当前位置: 首页 > 面试题库 >

重置类时CSS动画不会重新启动

窦哲彦
2023-03-14
问题内容

我正在使用CSS着色器+动画。我的着色器类定义如下:

.shader{
-webkit-filter :custom(url(v.vs) mix(url(f.fs) multiply destination-over), 200 200);
-webkit-animation-name: test;
-webkit-animation-duration: 2s;
-webkit-animation-iteration-count: 1
}

我正在尝试使用jQuery通过$('#holder').addClass('shader');动态设置/取消设置样式(shader +
animation)$('#holder').removeClass('shader');

但是,奇怪的是,当我重置类时(例如,在removeClass之后调用addClass),仅重新应用了着色器,而没有应用动画(我已钩住AnimationStart事件以查看动画何时开始)。有人知道为什么会这样吗,我该如何解决?

编辑:我在这里添加了JSfiddle片段的简化版本。本质上,我将动画重新应用于div两次,但是实际的动画只是第一次被调用。


问题答案:

我想我知道了。根据此,CSS动画不能得到适用于同一节点两次(即使你有不同的动画!)。因此,我必须克隆节点,删除原始节点,然后重新添加克隆的节点。



 类似资料:
  • 我用Inno Setup做了一个安装程序,在一些文件运行后我需要重启电脑,所以我用了这篇文章中的解决方案。 inno安装示例“CodePrepareToInstall”。iss运行良好,所以我使用了代码进行测试安装,但计算机重新启动后安装程序无法启动。 两个安装程序(inno demo和我的测试)都在“HKLM\Software\Microsoft\Windows\CurrentVersion\R

  • 我在运行Ubuntu18.04的单个实例上安装了ELK。除elasticsearch外,所有服务(logstash、kibana、metricbeat)都将在重新启动时自动启动。重新启动实例后,我必须发出命令。 我尝试了这个命令,但没有帮助。 需要做些什么才能让elastic自动重启?

  • 我正在尝试重新启动时循环。我已经声明了布尔类型的变量保去。如果int变量x不在窗口中,保去将变为假。然后重置()方法必须保持去=真。它可以工作,但同时循环不工作。 使用reset()和checkWin()初始化: 第二类带有线程、保持和时循环:

  • 我正在尝试评估AWS RDS Aurora作为本地MySQL数据库的未来替代品,但我注意到了一些奇怪的行为。 我有一个基本的集群,它有一个DB主(writer)和一个副本(reader)。我的想法是使用reader作为一个始终可用的数据源,即使writer不可用。但是当我重新启动master时,阅读器也会被关闭,使设置变得毫无价值。 查看读取器副本日志,当it注意到写入器关闭时会发生以下情况: 还

  • 我正在动画一个或多个div滚动到视图中。我是通过将动画css拆分成几个类(见下文)来做到这一点的。 动画div最初将具有类'.mpact-animated'和'.mpact-animated-pause'。div还将具有以下类之一'.mpact-shake'、'.mpact-heartbeat'或'.mpact-bounce'。这些动画类是由用户选择的,所以我不知道哪一个是要实现的。 当页面滚动时

  • 我正在尝试将php中的更改为。伊尼。我运行了phpinfo()并验证了加载的配置文件(它位于这里:/Library/Application-Support/appsolute/MAMP-PRO/conf/php.ini)。 每次我编辑这个php.ini文件的值并重启我的MAMP服务器时,php.ini文件似乎都会重置。如果我在重启MAMP后再次打开php.ini文件,它会显示。 为什么MAMP会重