Javascript 鼠标移动和按键时重置计时器
下面的javascript代码每10秒自动刷新一次页面 我的问题是如何在mousemove和keypress上重置计时器 Java脚本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
<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(…);