Помогите остановить таймер

Скрипт начинает кликать по таймеру при нажатии клавиши 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;
     }
};

→ Ссылка