[英]Not exiting while loop in javascript
I have a localhost website where I have a "start" button which triggers the follow function: 我有一个本地主机网站,这里有一个“开始”按钮,它会触发跟随功能:
function startGame(){
startTime = new Date().getTime();
currentTime = new Date().getTime();
while((currentTime-startTime)<2000){
document.getElementById('test').innerHTML = 'test1'
if(allyClicked){
allyTrack += 1;
allyString.append(allyTrack.toString())
allyClicked = false;
} else if(scaleClicked){
scaleTrack += 1;
scaleString.append(scaleTrack.toString())
scaleClicked = false;
} else if(enemyClicked){
enemyTrack += 1;
enemyString.append(enemyTrack.toString())
enemyClicked = false;
} else{
allyString.append(allyTrack.toString())
scaleString.append(scaleTrack.toString())
enemyString.append(enemyTrack.toString())
}
currentTime = new Date().getTime();
}
document.getElementById('test').innerHTML = 'test2';
document.getElementById('list').innerHTML = allyString + '\n' + scaleString + '\n' + enemyString;
}
The issue I seem to be having is that although I set a time limit of 2000 milliseconds, it does not leave the loop. 我似乎遇到的问题是,尽管我将时间限制设置为2000毫秒,但它并未退出循环。 (and change "test1" to "test2") Client-Server communication is confusing to me because this is my first attempt at a website, so I apologize if I'm missing something dumb.
(并将“ test1”更改为“ test2”)客户端与服务器之间的通信使我感到困惑,因为这是我第一次尝试访问某个网站,因此如果我缺少一些愚蠢的东西,我深表歉意。
Edited: 编辑:
function startGame(){
var startTime = new Date().getTime();
//var currentTime = new Date().getTime();
while(true){
document.getElementById('test').innerHTML = 'test1';
if(allyClicked){
allyTrack += 1;
allyString.append(allyTrack.toString())
allyClicked = false;
}
else if(scaleClicked){
scaleTrack += 1;
scaleString.append(scaleTrack.toString())
scaleClicked = false;
}
else if(enemyClicked){
enemyTrack += 1;
enemyString.append(enemyTrack.toString())
enemyClicked = false;
}
else{
allyString.append(allyTrack.toString())
scaleString.append(scaleTrack.toString())
enemyString.append(enemyTrack.toString())
}
//currentTime = new Date().getTime();
if((Math.abs(new Date().getTime() - startTime))>2000){
break;
}
}
document.getElementById('test').innerHTML = 'test2';
document.getElementById('list').innerHTML = allyString + '\n' + scaleString + '\n' + enemyString;
}
Still not printing the "test2". 仍然不打印“ test2”。 I must still be missing something.
我一定还是想念一些东西。
In your while loop condition, have you tried switching the order? 在while循环条件下,您是否尝试过切换命令? Like so:
像这样:
while (startTime - currentTime < 2000) {
// code goes here
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.