0

我正在制作一个简单的 jQuery 游戏,分数是从开始到结束所经过的时间。目前我正在将经过的时间添加到一个简单的 div 中:

var elapsedTime = new Date().getTime() - startTime;
$('.score').html('"<div>" + elapsedTime + "</div>"');   

有没有办法让我将最新的 elaspedTime 与以前的 elaspedTime 进行比较以保持更快的时间/更低的数字?

4

3 回答 3

0

将返回两次中的最低值:

Math.min(lastElapsedTime, newElapsedTime)

对于您的代码,您可能想要...

elapsedTime = Math.min(elapsedTime, new Date().getTime() - startTime);
于 2012-05-22T07:28:05.300 回答
0

将这些分数添加到数组中,然后排序。

var scores = [];
scores.push(elapsedTime1);
scores.push(elapsedTime2);
scores.push(elapsedTime3);

//sort it
scores.sort();
// if you want reverse order
scores.reverse();

//get the max and min, but if you have sorted already, that's not necessary.
var min = Math.min.apply(null, scores);
var max = Math.max.apply(null, scores);
于 2012-05-22T07:29:17.667 回答
0

您应该回读以前的时间并将其与新计算的时间进行比较。

var current_time = $('.score').text();
var elapsedTime = new Date().getTime() - startTime;
if (elapsedTime < current_time) {

   // do stuff
}
于 2012-05-22T07:34:45.277 回答