Javascript 鼠标移动和按键时重置计时器

Javascript 鼠标移动和按键时重置计时器,javascript,jquery,timer,Javascript,Jquery,Timer,下面的javascript代码每10秒自动刷新一次页面 我的问题是如何在mousemove和keypress上重置计时器 Java脚本 <script type="text/javascript" language="JavaScript"> var secs; var timerID = null; var timerRunning = false; var delay = 1000; functi

下面的javascript代码每10秒自动刷新一次页面

我的问题是如何在mousemove和keypress上重置计时器

Java脚本

<script type="text/javascript" language="JavaScript">

        var secs;
        var timerID = null;
        var timerRunning = false;
        var delay = 1000;

        function InitializeTimer(seconds) {
            //length of the timer, in seconds
            secs = seconds;
            StopTheClock();
            StartTheTimer();
        }

        function StopTheClock() {
            if (timerRunning)
                clearTimeout(timerID);
            timerRunning = false;
        }

        function StartTheTimer() {
            if (secs == 0) {
                StopTheClock();
                window.location.href = window.location.href;
            }
            else {
                document.getElementById("lbltime").innerText = secs + " ";
                secs = secs - 1;
                timerRunning = true;
                timerID = self.setTimeout("StartTheTimer()", delay);
            }
        }
</script>

var-secs;
var-timerID=null;
var timerRunning=错误;
无功延迟=1000;
函数初始化器(秒){
//计时器的长度,以秒为单位
秒=秒;
停止锁定();
开始计时();
}
函数StopTheClock(){
如果(定时)
清除超时(timerID);
timerRunning=false;
}
函数startTimer(){
如果(秒=0){
停止锁定();
window.location.href=window.location.href;
}
否则{
document.getElementById(“lbltime”).innerText=secs+“”;
秒=秒-1;
timerRunning=true;
timerID=self.setTimeout(“StartTheTimer()”,延迟);
}
}

提前谢谢。

在我看来,您的代码似乎有点过于分散,我要做的是将其简化一点

window.refreshttimeout=null;
函数刷新页面(){
location.reload();
}
函数刷新(){
clearTimeout(window.refreshTiemout);
window.refreshTimeout=setTimeout(refreshPage,2000)
}
window.refreshTimeout=setTimeout(refreshPage,2000)
window.addEventListener('mousemove',刷新)

HelloWorld
如果我没听错的话,可以这样做(最基本的例子:在mousemove和keypress上重置计时器):

var elem=document.getElementById(“计时器”),超时,startTimer=function timer(){
元素textContent++;
超时=设置超时(计时器,1000)
}
函数resetTimer(){
//在这里你重置了计时器。。。
clearTimeout(超时);
elem.textContent=-1;
startTimer();
//…而且你还可以重新开始一些其他的行动
}
文件。添加的事件列表器(“mousemove”,resetTimer);
文件。添加了监听器(“按键”,重置计时器);
startTimer()

-1-移动光标或按键重置计时器。
//在上面的示例中,指定结果变量timeoutHandle=window.setTimeout(…);//在单击函数中,调用clearTimeout窗口。clearTimeout(timeoutHandle);//然后再次调用setTimeout以重置计时器timeoutHandle=window.setTimeout(…);