javascript定时事件

javascript定时事件,javascript,events,time,Javascript,Events,Time,我以x/y坐标流的形式获取输入,如果这些坐标在给定的时间段(比如2秒)内落在指定的范围内,我想触发一个事件。有人能建议一种方法吗?从算法上讲,当您第一次检测到它在范围内时,您可以执行设置超时()2秒钟。从那时起,如果坐标保持在界限内,并且计时器已经设置好,那么您什么也不做。如果坐标超出界限,则使用clearTimeout()停止计时器。如果计时器在您清除它之前触发,那么coords将在所需的时间内保持在界限内 下面是一个代码示例: var myTimer = null; function pr

我以x/y坐标流的形式获取输入,如果这些坐标在给定的时间段(比如2秒)内落在指定的范围内,我想触发一个事件。有人能建议一种方法吗?

从算法上讲,当您第一次检测到它在范围内时,您可以执行
设置超时()
2秒钟。从那时起,如果坐标保持在界限内,并且计时器已经设置好,那么您什么也不做。如果坐标超出界限,则使用
clearTimeout()
停止计时器。如果计时器在您清除它之前触发,那么coords将在所需的时间内保持在界限内

下面是一个代码示例:

var myTimer = null;

function processCoordinatePair(x,y) {
    if (inBounds(x,y)) {
        if (!myTimer) {
            setTimeout(function() {
                // we stayed in bounds for 2 seconds, do whatever needs doing
                myTimer = null;         // clear timer for future use
            }, 2000);
        }
    } else {                            // not in bounds any more
        if (myTimer) {
            clearTimeout(mytimer);      // if timer was running, stop it
            myTimer = null;
        }
    }
}  
inBounds()
函数的实现显然取决于您,因为您尚未描述问题的这一部分