2015-12-15 35 views
1

我正在嘗試爲蛇遊戲添加一個計時器,並在遊戲開始時同時啓動它,並在遊戲開始時停止。請幫忙嗎?非常感謝!如何在HTML5和Javascript中添加計時器?

+3

請只是不復制/粘貼代碼,並尋求幫助。閱讀[this](http://stackoverflow.com/help/mcve)。 –

+0

嗨Amil。我很抱歉,但我對js和html5真的很陌生。 – dfb

回答

1

下面的例子(只是示例代碼),它將計算5秒,然後提醒總秒數。你需要讓數學得到幾小時,幾分鐘,幾秒鐘。

$(document).ready(function(){ 
var secs = 0; 
var id = setInterval(function(){ 
    secs++; console.log(secs); 
    if(secs> 5){ 
    clearInterval(id); 
    alert('Total Time: ' + secs + ' seconds'); 
    } 
}, 1000); 
}); 

然後你就可以把邏輯開始/停止方法內或任何你需要的地方吧。

使用純JavaScript:

window.onload = function() { 
var secs = 0; 
    var id = setInterval(function(){ 
     secs++; console.log(secs); 
     if(secs> 5){ 
     clearInterval(id); 
     alert('Total Time: ' + secs + ' seconds'); 
     } 
    }, 1000); 
}; 
+0

嗨曼努埃爾。但是,感謝您的幫助,我必須在JS中實現,JQuery是不允許的。謝謝 – dfb

+0

弗蘭克,在我的例子中,jQuery用於確保元素加載了'$(document).ready(function(){'。您可以用'window.onload = function替換該行(第一個) (){'使用純javascript,並且刪除最後一個'''''''''''''',所以它沒有語法問題。 (更新上面)希望有所幫助! – Manuel

+0

爲什麼它在DOM內準備好了?它依賴於什麼DOM? – alex

2

到這裏看看:

function changeValue() { 
 
    document.getElementById("demo").innerHTML = ++value; 
 
} 
 

 
var timerInterval = null; 
 
function start() { 
 
    stop(); // stoping the previous counting (if any) 
 
    value = 0; 
 
    timerInterval = setInterval(changeValue, 1000); 
 
} 
 
var stop = function() { 
 
    clearInterval(timerInterval); 
 
}
<p>A script on this page starts this clock:</p> 
 

 
<p id="demo">0</p> 
 

 
<button onclick="start()">Start time</button> 
 
<button onclick="stop()">Stop time</button>

+0

嗨夥伴。非常感謝您的幫助。但是,當我按下游戲的「開始」按鈕時,它可以自動啓動計數器嗎?謝謝。 – dfb

+0

正如你所看到的,我已經按下按鈕後自動啓動了。 '' – mat3e

+0

我想你應該閱讀一些關於JavaScript和HTML事件的基本內容。可能一場比賽是一個起點。 – mat3e