gpt4 book ai didi

javascript - 执行后延迟 JavaScript

转载 作者:行者123 更新时间:2023-11-30 20:23:31 25 4
gpt4 key购买 nike

document.addEventListener("wheel",changeTopicBackground);

function changeTopicBackground(){
if(document.getElementById("topicBackground").style.getPropertyValue("background-image")===`url("yy.jpg")`){
document.getElementById("topicBackground").style.backgroundImage = "url('firstDevil.png')";
}
else{
document.getElementById("topicBackground").style.backgroundImage = "url('yy.jpg')";
}
}

我也尝试过 setTimeout() 和 setInterval(),但是如果我在函数内部使用 setTimeout,那么它会在那之后执行函数内部的 block ...并且 setInterval 会重复,这是不需要的。

问题是:如何在函数内的代码执行后停止获取 wheel 事件监听器 1 秒?

最佳答案

您可以在函数触发时移除监听器,并在一秒后使用 setTimeout 恢复它:

document.addEventListener("wheel", changeTopicBackground);

function changeTopicBackground() {
console.log("wheeled!")
document.removeEventListener("wheel", changeTopicBackground)
setTimeout(() => document.addEventListener("wheel", changeTopicBackground), 1000)
}

关于javascript - 执行后延迟 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51197780/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com