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); }