0

我需要定期调用一个函数setInterval并向其传递参数。同时,我需要清除鼠标移动时调用的函数内部的时间间隔。

所以我正在尝试这个:

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

  /*
   Code
  */

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

  }, 50);

这个想法是要知道如何在内部使用带有 clearInterval 的 setinterval 并能够传递参数。

我将不胜感激任何帮助。

4

2 回答 2

0
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
}
于 2012-12-16T18:06:28.167 回答
0

除了可以根据您要实现的目标进行改进的概念之外,这条线

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

应该

document.getElementById("wholeDocument").onmousemove = function(e) { clearInterval(timer); }
于 2012-12-16T18:05:24.370 回答