2017-06-03 9 views
1

1)タイマーに問題があります。画面が読み込まれると開始され、STARTボタンで開始されます。 2)その他の場合。タイマーが00:00になると、勝ったか失われたかを知らせるメッセージ(アラート)が表示されます。 http://prntscr.com/ffi4bu wallvalueは常に変化しています。私のコードは機能しませんが、あなたはそのアイデアを得ることができます。JS else ifステートメントとタイマー

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

第一あなたが呼び出したい場合はwindow.onloadからごstartTimer関数呼び出しを削除しますボタンをクリックします。それ以外の場合は、ウィンドウロード後に即時ロードされます。

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

startTimerの内部で、 "ゼロ"値の呼び出しが終了し、あいまいな関数呼び出し行がfinishから削除されます。また、タイマー値がすでにゼロのときに "finsh"が呼び出されるので、単に "h"をチェックしてください。

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!"); 
} 
} 
関連する問題