Я пытаюсь сделать так, чтобы по умолчанию каждые 3 секунды регистрировались «тесты» на консоли (через функцию test()
), и , которые всякий раз, когда one
или * Нажатие кнопок 1005 * приводит к паузе в 10 секунд, пока тестовая функция не регистрируется на консоли каждые 3 секунды.
Проблема, которую я получаю, состоит в том, что (по крайней мере, я так думаю) функция продолжает выполняться после каждого щелчок через 10 секунд после этого щелчка означает, что происходит загрузка неконтролируемых консольных журналов, а не ожидание в течение 10 секунд после нажатия любой из кнопок, прежде чем возобновлять журналы каждые три секунды.
Здесь 'код :
var timer = setInterval(test, 3000);
function test() {
console.log('test');
}
function one() {
console.log('one');
resetTimer(timer, 10000);
}
function two() {
console.log('two');
resetTimer(timer, 10000);
}
function resetTimer(clock, interval) {
clearInterval(clock);
setTimeout(function() {
clearInterval(clock);
clock = setInterval(test, 3000);
}, interval-3000);
}
<button id='one' onclick='one()'>one</button>
<button id='two' onclick='two()'>two</button>
Кто-нибудь знает, почему это происходит и как это исправить? Спасибо за любую помощь здесь.
Codepen: https://codepen.io/ns91/pen/YzXBaJN