2017-09-07 16 views
0

私は "100"でタイマースタートを持つjavascriptでコードを書き込もうとしていて、0になるまで1ずつカウントダウンします。何らかの理由で、私がすぐにstartTimer )、「NaN」に切り替える前に一時的に「100」と表示されます。どんな解決策ですか?以下は私のコードです:JavaScriptカウントダウンタイマーNaNに行く

function startTimer() { 
var o = document.getElementById("timer"); 
o.innerHTML = "100"; 
timer_2 = setInterval(displayUnixTimer, 1000); 
} 

function displayUnixTimer() { 
time = document.getElementById("timer"); 
t = document.getElementById("timer").value; 
time.innerHTML = parseInt(t)-1; 
} 
+0

の要素の 'innerHTML'内容が'値を通じて取得することはできません'プロパティ。 – Pointy

答えて

1

あなたが元々設定した値をそのまま使用してください。

サイドノート作業中の要素を渡して、各間隔を調べる必要がないようにすることができます。

var timeText = document.getElementById("timer"); 
 
timeText.innerHTML = "100"; 
 
var ticker = setInterval(displayUnixTimer, 1000, timeText); 
 

 
function displayUnixTimer(element){ 
 
    var t = element.innerHTML; 
 
    element.innerHTML = parseInt(t)-1; 
 
    }
<div id="timer"></div>

0

私はあなたの例では.innerTextで.innerHTMLを交換し、それが働いた:

<html> 
<body> 
<label id="timer"></label> 
<script> 
function startTimer() { 
    var o = document.getElementById("timer"); 
    o.innerText = "100"; 
    timer_2 = setInterval(displayUnixTimer, 1000); 
} 

function displayUnixTimer() { 
    time = document.getElementById("timer"); 
    t = time.innerText; 
    time.innerText = parseInt(t)-1; 
} 
window.onload = function() {startTimer();}; 
</script> 
</body> 
</html> 
関連する問題