我正在尝试构建一个javascript函数,它将每秒使用一个新数字更新输入字段。这基本上是我希望我的功能可以做到的,希望有人可以给我一个关于我做错的指针。
<script>
var myVar = setInterval(function(){ getNumber() }, 1000);
function getNumber() {
var x = round(microtime(true) * 1000);;
document.getElementById("displaynum").value = x;
</script>
<input type="text" id="displaynum">
答案 0 :(得分:1)
你有几个问题:
Math.round()
而不只是round()
microtime()
?我已将其替换为Math.random()
以生成随机数。
var myVar = setInterval(function() {
getNumber()
}, 1000);
function getNumber() {
var ts = new Date().getTime();
var x = Math.round(ts*Math.random());
document.getElementById("displaynum").value = x;
}
<input type="text" id="displaynum">
<强>更新强>
使用new Date().getTime()
获取当前时间戳并将其与Math.random()
结合使用,以获得一个重复概率最小的随机数。
答案 1 :(得分:0)
您的方法是正确的,但您的代码存在一些问题,例如未定义的函数microtime
。
为了示例的目的,我用一个简单的计数器替换了microtime
:
var increment = getNumber();
var input = document.getElementById('displaynum');
var myVar = setInterval(function() {
input.value = increment();
}, 1000);
function getNumber() {
var x = 0;
return function() {
return x++;
}
}
<input id="displaynum" type="text" />