javascript - addEventListener() 无法多次工作。纯javascript

标签 javascript

我尝试使用纯 Javascript 进行代码挑战,但 addEventListener 上的函数仅工作一次。我试图在网上寻找可能的答案,但显然有些东西不起作用。

这是我的代码!

var btn = document.getElementById("next");

btn.addEventListener("click", clickDelay);

function clickDelay(){
document.getElementById("testing").classList.add("mystyle");
setTimeout(function() {
    document.getElementById("testing").classList.add("new-style");
}, 1000); }

SASS 在这里

.mystyle
animation: animatedBackground 10s linear infinite

.new-style
animation-play-state: paused

请帮忙!

最佳答案

当元素已经是该类的成员时,添加类 mystyle 将不会产生任何效果。

你应该改变你的逻辑,以便:

  • 默认情况下,animation 属性在元素上设置(即不需要通过 JS 添加类)。
  • 元素上的animation-play-state 设置为paused(默认情况下也如上所述)。
  • 使用 JS 添加类会将 animation-play-state 更改为 running
  • 您传递给 setTimeout 的函数会删除该类(这会将 animation-play-state 设置回 paused.

关于javascript - addEventListener() 无法多次工作。纯javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50435491/

相关文章:

JavaScript:如何检查事件是否发生?

javascript - 如何正确管理异步

JavaScript onSubmit 验证

javascript - 将超时设置为无穷大时遇到问题

javascript - 尝试在 DOM 上添加的元素上调用插件时,jQuery 无限递归

javascript - 将javascript日期转换为java sql日期错误

javascript - Bootstrap 嵌套折叠仅在父折叠时发生事件

javascript - 如何使用 alert() 查看 JavaScript 中的数组结构?

javascript - 是什么导致 TypeError : Expected `input` to be a `Function` or `Object` issue with gtoken and pify?

javascript - 尝试从 Dom 文档中删除 Dom 节点时出错