在javascript中使用setInterval函数制作计时器,但在javascript中有问题



我在Javascript中使用setInterval函数制作定时器。

我做了一个设置按钮和一个删除按钮,当按下它时将设置/删除间隔。

下面是我的代码:

var interval;
function sets(){
interval = setInterval(function(){
document.querySelector('div').textContent = 
parseFloat(document.querySelector('div').textContent)+1; 
},1000);
};
function del(){
window.clearInterval(interval);
document.querySelector('div').textContent = 0;
};
<button onclick = 'sets()'>Set</button>
<button onclick = 'del()'>Delete</button>
<div>0</div>

我发现当我一直按设置按钮时,div.textContent会随着我按设置按钮的次数而越来越快。

有谁知道为什么会发生这种情况,有没有一些方法,我可以避免它没有把两个按钮变成一个按钮?

感谢您的帮助和回复。

如果已经分配了interval,则可以清除先前的间隔

var interval;
function sets() {
// Here you can check if the interval is assigned already
// If assigned, use del() to clear it
if (interval) {
del()
}
interval = setInterval(function() {
document.querySelector('div').textContent =
parseFloat(document.querySelector('div').textContent) + 1;
}, 1000);
};
function del() {
window.clearInterval(interval);
document.querySelector('div').textContent = 0;
interval = null;
};
<button onclick='sets()'>Set</button>
<button onclick='del()'>Delete</button>
<div>0</div>

相关内容

  • 没有找到相关文章

最新更新