2012-05-22 101 views
0

我正在製作一個簡單的jQuery遊戲,分數是從開始到結束所經歷的時間。目前,我加入elasped時候一個簡單的DIV:如何比較流逝的時間?

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

有沒有辦法對我來說,比較以前的elaspedTime最新elaspedTime保持更快的時間/數量較少?

回答

0

您應該回讀前一次,並將其與新計算的時間進行比較。

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

    // do stuff 
} 
0

將返回最低的兩個時代:

Math.min(lastElapsedTime, newElapsedTime) 

爲您的代碼,你可能會想...

elapsedTime = Math.min(elapsedTime, new Date().getTime() - startTime); 
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); 
+0

這是迄今爲止最好的主意,你能告訴我如何在用戶完成遊戲時自動插入新的彈出時間到陣列中嗎? – user1193783

+0

@ user1193783沒有什麼難做到的,當用戶完成遊戲時,你可以在回調函數中做到這一點。 – xdazz