繁体   English   中英

如何使循环在JS中的特定时间范围内执行某些操作

[英]How to make a loop do something during a certain time frame in JS

我对JavaScript非常陌生,因此在回答我的问题时请记住这一点。

我正在尝试在特定时间范围内向用户提出问题。 使用window.prompt()方法询问问题。 如您所见,我在一个名为askquestions()的函数中do while一个do while循环:

var randomNo1;
var randomNo2;
var time;

do {
  randomNo1 = Math.random() * 9;
  randomNo1 = Math.round(randomNo1);
  randomNo2 = Math.random() * 9;
  randomNo2 = Math.round(randomNo2);
  window.prompt("What is " + randomNo1 + " + " + randomNo2 + "?")
} while (time == 0);

如何在30秒后将time = 1 在此先感谢您的帮助。

您可以使用:

document.setTimeout("str js code/func name call",millisec);
document.setTimeout("time=1;",30000);

一次执行一些js代码

并且为了您的规范,可能需要以下方法用于其他计时目的:

document.setInterval("js code /func name call",millisec);

间隔执行

此外,强烈建议您不要在js代码中使用“ waiting while”来提供计时服务,这可能会导致浏览器将该线程视为不响应的线程

您可以使用1970年1月1日以来的毫秒数

date = new Date();
mil = date.getTime();

您可以在代码的开头进行比较,然后在循环中获取最新的代码。 如果两者之间的时间大于某个毫秒数,则可以退出循环( while(curDate.getTime()-mil<30000)为30秒)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM