Javascript 设置随机间隔+;时间到

Javascript 设置随机间隔+;时间到,javascript,jquery,random,timeout,setinterval,Javascript,Jquery,Random,Timeout,Setinterval,我试图在我的页面上显示“等待”,然后是“等待”,然后是“等待”等,直到大约100次,我希望添加“等待”之间的时间是随机的,到目前为止,我已经设法显示等待,直到100次,但我无法添加随机的间隔。。(现在我加了10,这样就可以很快结束了) 我已经找到了这些主题的答案,但我似乎无法将它们整合到我的代码中 var timesRun=0; var t=“等待”; var interval=setInterval(函数(){ timesRun+=1; 如果(timesRun==10){ t=t+“…”

我试图在我的页面上显示“等待”,然后是“等待”,然后是“等待”等,直到大约100次,我希望添加“等待”之间的时间是随机的,到目前为止,我已经设法显示等待,直到100次,但我无法添加随机的间隔。。(现在我加了10,这样就可以很快结束了)

我已经找到了这些主题的答案,但我似乎无法将它们整合到我的代码中

var timesRun=0;
var t=“等待”;
var interval=setInterval(函数(){
timesRun+=1;
如果(timesRun==10){
t=t+“…”;
document.getElementById(“sample2进度”).innerHTML=t;
间隔时间;
}
document.getElementById(“sample2进度”).innerHTML=t;
t=t+“等待”;
}, 200); 
#预加载程序{
位置:固定;
排名:0;
左:0;
右:0;
底部:0;
背景色:#000;
z指数:99999;
身高:100%;
溢出:隐藏;
}
#地位{
宽度:100%;
身高:100%;
位置:绝对位置;
左:0%;
颜色:白色;
最高:0%;
背景重复:无重复;
背景位置:中心;
/*利润率:-50%0-50%*/
文本对齐:居中;
}
#样本2日志{
显示:无;
}
#样本2进展{
字体大小:6vh;
top:2vw;
位置:固定;
文本对齐:居中;
宽度:98vw;
左:2vw;
文本对齐:左对齐;
}

在我的理解中,由于每次运行都需要不同的间隔,因此最好使用
设置超时

注意:为了演示,我将延迟范围保持为10秒。您可以在控制台中检查延迟值

示例代码

var timesRun=0;
var t=“等待”;
函数initTimeout(){
var delay=Math.floor(Math.random()*1000000)%10000;
控制台日志(延迟)
setTimeout(函数(){
var str=“…”;
如果(++timesRun<10){
str=t
initTimeout();
}
通知(str);
},延误);
}
函数通知(str){
document.getElementById(“sample2进度”).innerHTML+=str;
}
initTimeout()
#预加载程序{
位置:固定;
排名:0;
左:0;
右:0;
底部:0;
背景色:#000;
z指数:99999;
身高:100%;
溢出:隐藏;
}
#地位{
宽度:100%;
身高:100%;
位置:绝对位置;
左:0%;
颜色:白色;
最高:0%;
背景重复:无重复;
背景位置:中心;
/*利润率:-50%0-50%*/
文本对齐:居中;
}
#样本2日志{
显示:无;
}
#样本2进展{
字体大小:6vh;
top:2vw;
位置:固定;
文本对齐:居中;
宽度:98vw;
左:2vw;
文本对齐:左对齐;
}


提供一把有效的代码小提琴?有一把,它正在工作?非常有效,谢谢!唯一不起作用的是,在结尾加上“…”一词,我会设法解决这个问题。@Dikeneko,我向你道歉。有个打字错误。它应该是
notify(str)
。还要注意,我在函数中分隔了代码。这将使您的代码更加可重用,每个函数都应该有一个目的,并且只有相关的代码应该存在。因此,
notify
具有表示逻辑,
initTimeout
具有实际的循环逻辑谢谢!很好。你也知道如何使间隔越来越小吗?我尝试过这样做:“var timesRun=0;var t=“wait”,function initTimeout(){var delay=500;setTimeout(function(){var str=“wait.”if(++timesRun<500){str=t initTimeout();}console.log(timesRun);notify(str);if(delay>150){delay=delay-100;}},delay);}但它不工作。