如何给弹出窗口加入时间限制,在规定时间内无任何动作时窗口自动关闭
作者:闪吧 类型:原创 来源:闪吧
如何给弹出窗口加入时间限制,在规定时间内无任何动作时窗口自动关闭
解决思路: 这个类似于 Windows 系统的屏保功能
具体步骤: 方法一:
1.在页面上有鼠标或按键动作时设置变量 flag 为false,以说明有动作发生。
var flag=true,timeout=3000,timer
document.onmousemove=document.onkeyup=function (){flag=false;clearInterval(timer);init()}
2. 在页面加载完成后定时检查,看有无动作。
window.onload=function init(){timer=setInterval(function(){if(flag)self.close();else flag=true},timeout)}
3.完整代码。
<script>
var flag=true,timeout=3000,timer
document.onmousemove=document.onkeyup=function (){flag=false;clearInterval(timer);init()}
window.onload=function init(){timer=setInterval(function(){if(flag)self.close();else flag=true},timeout)}
</script>
提示:
l flag 为标记页面上是否有动作的变量,true 为无,flase 为有。
l timeout 为页面上无动作持续的时间上限,超时则关闭窗口
方法二:
<script>
var timeout=3000 //超时时间
var begintime //页面上无动作的开始时刻
var endtime //页面上无动作的结束时间
document.onmousemove=document.onkeydown=function (){
begintime=new Date().getTime()
}
function checkTimeout(){
endtime=new Date().getTime()
if(endtime-begintime>timeout) //关闭无动作的持续时间是否超时
window.close() //关闭窗口
}
setInterval("checkTimeout()",1000)
</script>
特别提示
代码运行后,只要在该页上无鼠标或按键动作的持续时间超过 3 秒,窗口将自动关闭。
特别说明
本例是旧知识的综合应用,需要掌握的技巧主要是多个事件调用同一函数的连写和直接将函数作为setInterval 方法的第一个参数的写法。
责任编辑:kissall 时间:2005年8月29日
- 最近更新
