Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JS-函数接受双重结果_Javascript_Function_Double - Fatal编程技术网

Javascript JS-函数接受双重结果

Javascript JS-函数接受双重结果,javascript,function,double,Javascript,Function,Double,我对这个脚本有问题: <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(); el

我对这个脚本有问题:

<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>

var启动=400;
var区间=40;
函数计数器(){
返回开始时间-=间隔时间;
}
var停止=设置间隔(
函数add(){
如果(计数器()>0)
document.getElementById(“test”).innerHTML=counter();
其他的
清除间隔(停止);
},1000);
停止

在标记上!开始

脚本从400倒计时到0,变量间隔为40。当脚本运行时,它减去80而不是40。结果是双倍的,我不知道为什么

你能帮我吗?

你要调用counter()两次,每次减去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);
调用counter()两次,每次减去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);
调用counter()两次,每次减去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);
调用counter()两次,每次减去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);