javascript - 如何在 Javascript 函数中添加延迟

标签 javascript html css web

我试图在单击元素时发生一系列样式更改时创建一个简单的函数。

我想在我所做的两次样式更改之间添加 4 秒的延迟。我发现了一些在函数之前和之后添加延迟的方法,但不在函数内部添加延迟,如何实现此目的?

我的代码:

const btnEl = document.getElementById("btnel")
const subtl = document.getElementById("chp1sub")

document.getElementById("chp1sub").style.backgroundColor = "red";

btnEl.addEventListener("click", function(){
    subtl.style.backgroundColor = "blue"
    
// 4 second delay here before running next line

    subtl.style.transform = "translateY(-90px)"
})

非常感谢对此的任何建议

最佳答案

您可以简单地使用setTimeout方法,它会在您设置的时间(以毫秒为单位)后运行函数。为了实现你所需要的,你必须为其设置一个匿名函数。

More information

示例

setTimeout(() => {
  /* Code to run after 4 seconds */
}, 4000)

使用您的代码

const btnEl = document.getElementById("btnel")
const subtl = document.getElementById("chp1sub")

document.getElementById("chp1sub").style.backgroundColor = "red";

btnEl.addEventListener("click", function(){
  subtl.style.backgroundColor = "blue"
    
  setTimeout(() => {
    // 4 second delay here before running next line
    subtl.style.transform = "translateY(-90px)"
  }, 4000)
})

关于javascript - 如何在 Javascript 函数中添加延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72140480/

相关文章:

php - 如何限制使用 PHP 将 JavaScript 脚本插入数据库?

Javascript - 确保地理编码器循环在嵌套循环之前完成,从而导致 markCluster 出现问题

html - 每页菜单相同

html - 如何在移动屏幕中将 col-sm-1 置于切换导航中

android - 用于检测三星设备是否支持悬停的 CSS 媒体查询问题

html - Bootstrap 模式中标签之间的边距为零

javascript - 加速我的 Javascript 滚动事件代码

javascript - 输入范围类型在 IE 中无法正常工作

css - 如何更改网页客户端?

javascript - 浏览器链接不起作用 VS 2013 Ultimate - 似乎 SignalR 不起作用?