(function() {
var count = {
digit: 0,
increment: function() {
var interval = setInterval(function() {
if (++count.digit == 10) {
clearInterval(interval);
count.decrement();
}
var update = document.getElementById("liveUpdate");
update.innerHTML = count.digit;
}, 500);
},
decrement: function() {
var interval = setInterval(function() {
if (--count.digit == -1) {
clearInterval(interval);
}
}, 500);
}
};
count.increment();
})();
它会停止但不会下降?可能是什么问题?
答案 0 :(得分:4)
您的decrement
函数永远不会在任何地方更新输出。变量 下降但你没有在屏幕上显示。
尝试(或检查相应的JSFiddle):
(function() {
var update = document.getElementById("liveUpdate");
var count = {
digit: 0,
increment: function() {
var interval = setInterval(function() {
if (++count.digit == 10) {
clearInterval(interval);
count.decrement();
}
update.innerHTML = count.digit;
}, 500);
},
decrement: function() {
var interval = setInterval(function() {
if (--count.digit == -1) {
clearInterval(interval);
}
update.innerHTML = count.digit;
}, 500);
}
};
count.increment();
})();
答案 1 :(得分:2)
setInterval将每500秒调用一次该函数。直到你停止它才会停止。您可以在Stop setInterval call in JavaScript
了解有关停止此操作的详情答案 2 :(得分:2)
这不是一个错误,它是一个功能;-)。 setInterval()
在给定间隔(500毫秒)的循环中运行给定函数。有关详细信息,请参阅此article。