Проблема возникает в этом фрагменте кода:
window.onmousemove = resetTimer('y');
По сути, то, что вы делаете, сродни этому:
let returnValue = resetTimer('y'); // resetTimer executed, returns `undefined`
window.onmousemove = returnValue; // Also `undefined`
После этого первоначального вызова ваш resetTimer
никогда не выполняется снова, не говоря уже о mousemove
.Поэтому просто оберните его другой функцией для вызова resetTimer
, либо традиционным способом:
window.onmousemove = function(){ resetTimer('y'); };
, либо с новым arrow function
:
window.onmousemove = () => resetTimer('y');