Javascript 在主页中不断显示随机值
我是一个js初学者。 我想显示一些介于1到50之间的随机浮点值,只是传感器数据的演示值。 这就是我尝试过的代码:Javascript 在主页中不断显示随机值,javascript,loops,Javascript,Loops,我是一个js初学者。 我想显示一些介于1到50之间的随机浮点值,只是传感器数据的演示值。 这就是我尝试过的代码: <!DOCTYPE html> <html> <body> <p id="demo"></p> <script> function myFunction() { while(1) { document.getElementById("demo").inner
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
function myFunction() {
while(1)
{
document.getElementById("demo").innerHTML = Math.random()*50 + 1 ;
}
}
</script>
</body>
</html>
函数myFunction(){
而(1)
{
document.getElementById(“demo”).innerHTML=Math.random()*50+1;
}
}
但它不起作用。有人能帮忙吗?
我想在页面加载时显示数字,并像动态数据一样不断更改值。有两个问题:
函数myFunction(){
document.getElementById(“demo”).innerHTML=Math.random()*50+1;
}
setInterval('myFunction()',1000)代码>
演示
您的程序在中陷入无限循环,而(1)
。浏览器从不返回控件,以便可以更新页面。你能做的就是在一个超时内完成你的循环。像这样,
函数myFunction(){
document.getElementById(“demo”).innerHTML=Math.random()*50+1;
}
设置间隔(myFunction,1);//超时时间以毫秒为单位。这几乎类似于在while循环中运行,因为“myFunction”将在每毫秒内执行一次。
,而(1){…}
不会重新呈现文档()。如果你想做一些时钟/定时器,你可以使用或。然而,这里有一点很重要,您需要记住clearInterval
/clearTimeout
,否则可能会发生奇怪的、意外的事情(interval线程可能会一直保持到您关闭浏览器选项卡或浏览器)
下面是如何解决问题的示例代码:
函数updateAndomValue(){
document.getElementById(“demo”).innerHTML=Math.random()*50+1
}
const timerId=setInterval(updateradomvalue,1000)
document.addEventListener(“onbeforeunload”,()=>clearInterval(timerId))
-
而(1)不会更新您的页面;它就这样断了。您也从未调用过该函数。这是你的更新脚本
function updateFunc() {
document.getElementById("demo").innerHTML = Math.random()*50 + 1 ;
}
window.setInterval(updateFunc, 1000);
一些重要的注释。
我重命名了函数,因此代码更清晰。
1000意味着它将每秒运行一次。如果希望更快或更慢,请更改该值。以毫秒为单位。您需要通过setTimeout()
或setInterval()
使用计时器。循环运行时,浏览器不会呈现视图。此外,您没有调用“myFunction”。您需要在调用时删除,调用,并在setInterval
调用中调用其中的函数。最后,您可能希望对随机值进行四舍五入,否则将得到介于1和51之间的浮点值。为什么要使用setInterval?我看不出有任何理由使用setInterval@caramba这是问题的一部分当页面加载时,像动态数据一样不断地改变值
非常感谢。这正是我想做的!而a学会了一个新概念,间隔!谢谢:数据无需四舍五入
,因为OP需要“一些介于1到50之间的随机浮点值”