将var的当前值显示为HTML

时间:2016-10-10 07:40:35

标签: javascript html

我有一个变量speed由用户从键盘控制,我想一直显示当前值。
我试过了:

var user_speed= 1; //init

<h3 style="float:left;" id="userspeed"></h3>

document.getElementById("userspeed").innerHTML = user_speed.toFixed(2);

但我得到的仅是speed = 1而且它从未改变过。

有没有办法继续更改显示的值,而不创建每次用户更改速度并再次执行document.getElementById()...时触发的功能?

3 个答案:

答案 0 :(得分:2)

为什么不使用setInterval更新值,如下所示:

var speed = 1; //init

setInterval(function(){
   document.getElementById("userspeed").innerHTML = user_speed.toFixed(2);
}, 1000);

这将每1秒(1000毫秒)更新一次。

答案 1 :(得分:0)

您只获得初始值,因为您只调用该代码一次。

正如您所说,如果您想要更改该值,您需要创建一个对该函数的调用才能更新该值。

答案 2 :(得分:0)

我认为没有办法解决。您可能必须使用函数和事件。因为当你不知道用户输入某些键时,你怎么知道或触发一些计算呢?

See this question

更新:您可能知道 setInterval / setTimeout 是邪恶的!

如果你看看这个link,你会发现你应该避免这些功能,原因不是很充分。简化为:

  

...第一个参数是一个字符串,你实际上传递了一些JavaScript,当计时器到期时,它将在全局命名空间中进行评估。再次阅读evals的邪恶,然后再回来。好消息是您不需要传递一串JavaScript代码。 ...