【发布时间】:2020-07-04 13:26:55
【问题描述】:
当我运行代码时,它只在我创建的初始变量“2000”处间隔。当我单击按钮时,它不会将间隔更改为“50”。有谁知道为什么?
<html>
<body>
<h1 id="pressme"> Press me! </h1>
</body>
<script>
amount = 2000;
var i = 1;
document.getElementById("pressme").onclick = function() {
amount = 50;
}
function doSomething() {
i++;
console.log("I did something! " + i);
}
setInterval(doSomething, amount)
</script>
</html>
这不是 OG 代码,而是它的简化版本。
【问题讨论】:
-
您的问题是
setInterval在点击事件之前立即触发,因此amount停留在2000。如果你想要一个间隔来改变时间,它不会。您可以将间隔分配给一个变量和clearInterval(interval),然后创建一个新的。
标签: javascript html variables setinterval var