Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使数字生成器与google数字生成器相似_Javascript_Numbers_Generator - Fatal编程技术网

Javascript 如何使数字生成器与google数字生成器相似

Javascript 如何使数字生成器与google数字生成器相似,javascript,numbers,generator,Javascript,Numbers,Generator,我正在尝试在网页上创建某种类型的数字生成器。我想在生成的数字显示之前显示五个数字。为了更好地想象,你可以看看。当您单击“生成”时,它会在生成编号之前显示3-4个编号。我使用setInterval或setTimeout,但我不知道它是如何工作的。我的js代码: var button = document.querySelector("button"); button.addEventListener("click",function() { for (var i = 0; i <

我正在尝试在网页上创建某种类型的数字生成器。我想在生成的数字显示之前显示五个数字。为了更好地想象,你可以看看。当您单击“生成”时,它会在生成编号之前显示3-4个编号。我使用setInterval或setTimeout,但我不知道它是如何工作的。我的js代码:

var button = document.querySelector("button");

button.addEventListener("click",function() {
    for (var i = 0; i < 8; i++) {
        setInterval(textC,5);
    }
});

function textC(){
    number.textContent = Math.floor(Math.random() * 1000) + 1;
}
var-button=document.querySelector(“按钮”);
addEventListener(“单击”,函数(){
对于(变量i=0;i<8;i++){
设置间隔(textC,5);
}
});
函数textC(){
number.textContent=Math.floor(Math.random()*1000)+1;
}

谢谢你的帮助

setInterval()的问题是,除非清除,否则它将永远持续,导致您不断生成随机数。相反,您可以使用
setTimeout()
,但可以根据for循环中
i
的值将超时设置为更改。这样,每个间隔将在另一个间隔后50 m/s出现

见下例:

const button=document.querySelector(“按钮”);
常量编号=document.querySelector(“#编号”);
addEventListener(“单击”,函数(){
for(设i=0;i<5;i++){
设置超时(textC,50*i);
}
});
函数textC(){
number.textContent=Math.floor(Math.random()*1000)+1;
}

生成
不要使用循环()。只需嵌套
setTimeout
并调用它,直到达到预定义的阈值。它给你最大的控制

var-button=document.querySelector(“按钮”);
变量编号=document.querySelector(“#编号”);
常数nRuns=12;
常数超时=100;
设迭代器=0;
按钮。addEventListener(“单击”,textC);
函数textC(){
number.textContent=`${Math.floor(Math.random()*1000)+1}\n`;
迭代器+=1;
if(迭代器

生成