setInterval + clearIntervalInside + параметры -no jquery-

Мне нужно периодически вызывать функцию с setInterval и передавать ей параметры. В то же время мне нужно очистить интервал внутри функции, которая вызывается при перемещении мыши.

Итак, я пытаюсь это:

var timer = setInterval(function(x,y){ // When I use this, x and y are undefined.

  /*
   Code
  */

  document.getElementById("wholeDocument").onmousemove=clearInterval(timer);

  }, 50);

Идея состоит в том, чтобы знать, как использовать setinterval с clearInterval внутри и уметь передавать параметры.

Буду признателен за любую помощь.

2 ответа

Решение
var timer = null;
document.getElementById("wholeDocument").onmousemove= function(evt) {
    if (timer) {
      clearInterval(timer);
      timer = null;
    }
    x = evt.clientX;
    y = evt.clientY;
    var timer = setInterval(function() { fnTimer(x, y); }, 50);
};

function fnTimer(x, y) {
  // your code here
}

Помимо концепции, которая может быть улучшена в зависимости от того, чего вы пытаетесь достичь, эта линия

document.getElementById("wholeDocument").onmousemove=clearInterval(timer);

должно быть

document.getElementById("wholeDocument").onmousemove = function(e) { clearInterval(timer); }
Другие вопросы по тегам