每次有“ tick”服务器端,都会调用 gameTime()函数。我的问题是 if 语句从不进行比较,因此这从不允许我更新div。同样,当 gameTime()被调用时,它不会重置或停止 elapsedTime ,它只会启动一个新的事件,它们可以并排运行,无限的事件和无限的时间。
function gameTime (str) {
var timeAndDate = '';
var elapsedTime = '';
var interval = '';
var startTime = '';
var game_time = str.match( /<time (.*)>/ );
var game_date = str.match( /<date (.*)>/ );
if ( game_time && game_date ) {
game_time = game_time[1].match( /(.*) (.*) (.*)/ );
game_date = game_date[1].match( /(.*) (.*) (.*)/ );
timeAndDate = game_time[1] + ':00 ' + game_time[2] + ' ' + game_time[3] + ' - ' + game_date[1] + ' ' + game_date[2] + ', ' + game_date[3];
// Tick timer
startTime = Date.now();
interval = setInterval(function() {
elapsedTime = Date.now() - startTime;
if ( elapsedTime == "18750" ) {
timeAndDate = game_time[1] + ':15 ' + game_time[2] + ' ' + game_time[3] + ' - ' + game_date[1] + ' ' + game_date[2] + ', ' + game_date[3];
$("#timeAndDate").text(timeAndDate);
console.log("15");
}
if ( elapsedTime == "37500" ) {
timeAndDate = game_time[1] + ':30 ' + game_time[2] + ' ' + game_time[3] + ' - ' + game_date[1] + ' ' + game_date[2] + ', ' + game_date[3];
$("#timeAndDate").text(timeAndDate);
console.log("30");
}
if ( elapsedTime == "56250" ) {
timeAndDate = game_time[1] + ':45 ' + game_time[2] + ' ' + game_time[3] + ' - ' + game_date[1] + ' ' + game_date[2] + ', ' + game_date[3];
$("#timeAndDate").text(timeAndDate);
console.log("45");
}
console.log(elapsedTime);
}, 100);
$("#timeAndDate").text(timeAndDate);
}
}