首页 > web前端 > css教程 > 如何仅使用 JavaScript 暂停和恢复 CSS3 动画?

如何仅使用 JavaScript 暂停和恢复 CSS3 动画?

Linda Hamilton
发布: 2024-12-07 10:43:11
原创
689 人浏览过

How Can I Pause and Resume CSS3 Animations Using Only JavaScript?

使用 JavaScript 暂停和恢复 CSS3 动画

问题:

如何暂停和恢复使用 JavaScript 的 CSS3 动画,无需依赖外部库?

解决方案:

  1. CSS 动画:

使用 CSS 关键帧定义动画,指定每个的不透明度值和时间

  1. 暂停和恢复函数:

创建 JavaScript 函数来处理暂停和恢复动画:

const pauseAnimation = (element) => {
  element.style.animationPlayState = "paused";
};

const resumeAnimation = (element) => {
  element.style.animationPlayState = "running";
};
登录后复制
  1. 活动监听器:

向动画元素添加事件监听器以触发暂停和恢复操作:

document.getElementById("pic1").addEventListener("click", () => {
  pauseAnimation(document.getElementById("pic1"));
});

document.getElementById("pic2").addEventListener("click", () => {
  resumeAnimation(document.getElementById("pic2"));
});
登录后复制

附加说明:

  • 为了确保动画可以多次暂停,请在添加新的事件监听器之前清除现有的事件监听器
  • 或者,使用提供的答案中建议的 CSS 类方法:
.paused{
    -webkit-animation-play-state:paused;
    -moz-animation-play-state:paused;
    -o-animation-play-state:paused; 
    animation-play-state:paused;
}
登录后复制
const pauseAnimation = (element) => {
  element.classList.add("paused");
};

const resumeAnimation = (element) => {
  element.classList.remove("paused");
};
登录后复制

这允许您通过简单地切换此 CSS 来暂停和恢复动画不需要事件监听器的类。

以上是如何仅使用 JavaScript 暂停和恢复 CSS3 动画?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板