2016-10-01 66 views
4

新來的JS,請你好。Javascript分數目標提醒

在爲瀏覽器畫布遊戲創建Javascript分數時,以下代碼每秒增加1。對於等於100的可變分數,我將如何處理這個函數,當它達到這個值時顯示一個窗口警報?

嘗試類似於if(score == 100);警報(分數)沒有爲我工作。

下面的代碼目前不在JSFiddle中工作,輸出顯示在瀏覽器選項卡中。

var start = new Date().getTime(), 
 
    score = '0.1'; 
 

 
window.setInterval(function() { 
 
    var time = new Date().getTime() - start; 
 
    score = Math.floor(time/1000) ; 
 
    if(Math.round(score) == score) 
 
     { score += '.0 Score'; } 
 
    document.title = score; 
 
}, 100);

+0

什麼:' if(Math.round(score)== score){score + ='.0 Score';警報(評分); }'?在你的例子中,你有一個逗號,在'if'之後立即搞砸了。 –

+1

You are close:if(score == 100){alert(score)};'(即最終沒有逗號和分號) - 最佳實踐使用'==='或甚至更好,在此如果使用'> ==',那麼即使'score'超過100 – ochi

回答

1

您可能需要清除的時間間隔,當你完成。否則,區間繼續上執行,並很快將比分不再是100(或任何上限會)沿線的

東西:

var start = new Date().getTime(), 
 
    score = '0.1'; 
 

 
// get handle to interval function 
 
var interval = window.setInterval(function() { 
 
    var time = new Date().getTime() - start; 
 
    
 
    score = Math.floor(time/1000); 
 
    console.log(score); 
 
    
 
    if (score >= 5) { // set to 5 for speedier test/check 
 
    score += '.0 Score'; 
 
    window.clearInterval(interval); // clear interval to stop checking 
 
    alert(score); 
 
    } 
 
    document.getElementById('title').innerHTML = score; // display it 
 
    document.title = score; 
 
}, 100);
<div id="title"></div>

+0

也是如此,謝謝。正如我所希望的那樣工作,只需稍作修改。 –

+0

很高興我能幫上忙 – ochi