【发布时间】:2020-08-20 15:44:30
【问题描述】:
我正在尝试在 html 页面上显示一个应该始终重新计算自身的变量。
var actualTimeSec = 0; //evolves while the page is loaded
var xTot = 500; //fixed
var timeTotSec = 60; //fixed
while(stop === false){
var x = (actualTimeSec*xTot)/timeTotSec;
document.querySelector("#xId").innerHTML = x;
}
在我的 HTML 中,我有一个显示 x 变量的 div。 但是当while循环工作时,我不能点击任何其他按钮。 如何始终计算 x 变量(直到用户关闭页面)但仍然能够点击其他按钮?
【问题讨论】:
-
您应该使用
setInterval()重复运行代码,而不是while循环。 JavaScript 是单线程且不可抢占的,因此不能中断循环来更新任何变量。 -
当然,但是 setInterval() 将是每 10 毫秒或其他时间,因为我希望变量是准确的。你也许是对的,我可能应该使用这个......
-
你也可以使用
requestAnimationFrame- developer.mozilla.org/en-US/docs/Web/API/window/…
标签: javascript html while-loop