簡體   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