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