Помогите остановить таймер
Скрипт начинает кликать по таймеру при нажатии клавиши F10 и должен перестать кликать при нажатии F9, при повторном нажатии F10 продолжить кликать.
var timer;
document.onkeydown = function(e){
switch (e.keyCode) {
case 121:
timer = setInterval(() => {
document.getElementsByTagName('li')[1].click();
}, 5000);
break;
case 120:
timer = clearInterval(timer);
}
};
Беда в том что клик по таймеру не останавливается.
Ответы (2 шт):
Автор решения: Igor
→ Ссылка
Что делает F10 (в Windows)? Подумайте.
var timer;
document.onkeydown = function(e) {
switch (e.keyCode) {
case 121:
if (!timer) {
timer = setInterval(() => console.log("timer"), 1000);
console.log("timer started");
} else {
console.log("timer already running");
}
e.preventDefault();
break;
case 120:
if (timer) {
timer = clearInterval(timer);
console.log("timer stopped");
} else {
console.log("timer not running");
}
break;
}
};
Автор решения: Влад
→ Ссылка
Я конечно не про поведенческие стратегии windows и F10 спрашивал, но все равно благодарю, это помогло решить проблему, сделал так:
var timer;
var li = document.getElementsByTagName('li')[1];
document.onkeydown = function(e){
switch (e.keyCode) {
case 121:
if (!timer) {
timer = setInterval(function() {
li.click();
}, 5000);
}
e.preventDefault();
break;
case 120:
timer = clearInterval(timer);
e.preventDefault();
break;
}
};