【发布时间】:2022-01-15 16:28:35
【问题描述】:
我正在尝试在 JS 中发出警报,在其中我获取输入的值并将其乘以 1000 以获得 ms 值和 setTimeout 一个函数,该函数将段落元素更改为 Time Up,即 setTimeout 中的时间是输入 x 1000 的值(因为毫秒) 有点像这样:
function domChanger() {
document.getElementById("paragraph").innerHTML = "Time Up";
}
function time(alert) {
alert = document.getElementById("input")
alert.value *= 1000;
setTimeout(domChanger(), alert.value)
}
它没有为我做预期的事情(在 alert.value * 1000 设置的时间过去后执行该功能)它立即输出 Time Up。我有什么误解吗?因为我在 Google 上搜索了大约 1 小时,除了 setTimeout 和 setInterval 之外我找不到任何东西。
【问题讨论】:
-
只需在 setTimeout 调用中删除 domChanger 上的括号,否则不要将函数传递给 setTimeout,而是调用它。
标签: javascript time