2015-02-05 49 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);