2015-02-05 71 views
0

我得到與此腳本問題:JS - 功能採取雙重結果

<script> 
var start = 400; 
var interval = 40; 

function counter() { 
return start -= interval; 
} 

var stop = setInterval (
    function add() { 
    if (counter() > 0) 
    document.getElementById("test").innerHTML = counter(); 
    else 
    clearInterval(stop); 
    },1000); 
</script> 

<button onclick="clearInterval(stop)">stop!</button> 
<br/> 
     <p id="test">On marks! Start!</p> 

腳本向下計數從400到0,以可變間隔= 40。當腳本運行它減去80而不是40結果是雙重的,我不知道爲什麼。

你能幫我嗎?

回答

3

你打電話計數器()兩次,每次減去40,叫它只是一次

var start = 400; 
var interval = 40; 

function counter() { 
    return start -= interval; 
} 

var stop = setInterval(function() { 
    var count = counter(); 
    if (count > 0) { 
     document.getElementById("test").innerHTML = count; 
    } else { 
     clearInterval(stop); 
    } 
}, 1000);