2017-06-03 92 views
1

1)我有一個定時器的問題。它在屏幕加載時開始,它應該從START按鈕開始。 2)否則。當定時器命中00:00時,如果我贏了或輸了,它應該顯示消息(警報)。 wallvalue是不斷變化的。我的代碼不起作用,但您明白了。JS if else語句和定時器

1)JS代碼計時器

function startTimer(duration, display) { 
    var timer = duration,minutes, seconds; 
var timers = setInterval(runner, 1000); 
function runner() { 
    minutes = parseInt(timer/60, 10); 
    seconds = parseInt(timer % 60, 10); 

    minutes = minutes < 10 ? "0" + minutes : minutes; 
    seconds = seconds < 10 ? "0" + seconds : seconds; 

    display.textContent = minutes + ":" + seconds; 

    if (--timer < 0) { 
     clearInterval(timers) 
    } 
    } 

} 

window.onload = function() { 
    var oneMinutes = 60 * 1, 
    display = document.querySelector('#time'); 
    startTimer(oneMinutes, display); 
}; 

HTML

<div class="timer" ><b>Battle time: <span id="time"></span></b></div> 
<BUTTON class="begin" onclick="startTimer(60,document.querySelector('#time'))"><b>START</b></BUTTON> 

2)JS

function finish(){ 
    var g = function startTimer; 
    var h = document.getElementById('wallvalue'); 

if (function startTimer = 0)&& (h<500) { 
    alert("You won!"); 
} 
else { 
alert("You lost!"); 
} 
} 

回答

0

1日拆除的window.onload您startTimer所函數調用,如果你想打電話按鈕點擊。否則會在窗口加載後立即加載。

window.onload = function() { 
    var oneMinutes = 60 * 1, 
    display = document.querySelector('#time'); 
    //startTimer(oneMinutes, display); 
}; 

在「零」值調用的startTimer內部完成並從完成中刪除模糊的函數調用行。也只是檢查「h」,因爲當定時器值已經爲零時將調用「finsh」。

function startTimer(duration, display) { 
    var timer = duration,minutes, seconds; 
    var timers = setInterval(runner, 1000); 
    function runner() { 
    minutes = parseInt(timer/60, 10); 
    seconds = parseInt(timer % 60, 10); 

    minutes = minutes < 10 ? "0" + minutes : minutes; 
    seconds = seconds < 10 ? "0" + seconds : seconds; 

    display.textContent = minutes + ":" + seconds; 

    if (--timer <= 0) { 
    clearInterval(timers) 
    finish() 
    } 
} 

} 



function finish(){ 

var h = document.getElementById('wallvalue'); 

if (h<500) { 
    alert("You won!"); 
} 
else { 
alert("You lost!"); 
} 
}