当页面30秒无操作执行一个方法

自渡96 2018-01-24 03:43:50
这个该怎么写啊,不太懂
...全文
759 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
无聊的上午 2018-01-29
  • 打赏
  • 举报
回复
引用 3 楼 jslang 的回复:

var timer;
window.onload = document.onmousemove = document.onkeydown = function () {
	clearTimeout(timer);
	timer = setTimeout(function(){
		alert("30秒无操作");
	}, 30000);
}

就按他这样写 定时器 可以看看 js提供了两种定时器
roffer 2018-01-25
  • 打赏
  • 举报
回复
引用 7 楼 qq_35626760 的回复:
[quote=引用 4 楼 dulongfie 的回复:]

                var initSleep = 2;
		window.onload = function(){
			this.sleep = initSleep;
			document.onmousemove = document.onmousedown = document.onkeydown = function(e){window.sleep = initSleep}
			setInterval(function(){this.sleep === 0 ? toDo() : this.sleep --},1000)
		}
		function toDo(){
			console.log(this.sleep);
			this.sleep = initSleep;
		}
能改成对页面操作结束后1分钟无操作,再执行方法吗?(不好意思,我之前没说清楚)[/quote]

var initSleep = 30;
        window.onload = function(){
            this.sleep = initSleep;
            document.onmousemove = document.onmousedown = document.onkeydown = function(e){window.sleep = initSleep}
            setInterval(function(){this.sleep === 0 ? toDo() : this.sleep --},1000)
        }
        function toDo(){
            console.log(this.sleep);
            this.sleep = initSleep;//修改这个时间就好了啊
        }
  • 打赏
  • 举报
回复
写一个方法,在页面onload的时候触发,定时30秒,任何操作重置定时器
天际的海浪 2018-01-24
  • 打赏
  • 举报
回复
引用 6 楼 qq_35626760 的回复:
[quote=引用 3 楼 jslang 的回复:]

var timer;
window.onload = document.onmousemove = document.onkeydown = function () {
	clearTimeout(timer);
	timer = setTimeout(function(){
		alert("30秒无操作");
	}, 30000);
}

能改成对页面操作结束后1分钟无操作,再执行方法吗?(不好意思,我之前没说清楚)[/quote]
var timer;
document.onmousedown = document.onkeydown = function () {
	clearTimeout(timer);
	timer = setTimeout(function(){
		alert("30秒无操作");
	}, 100000);
}
自渡96 2018-01-24
  • 打赏
  • 举报
回复
引用 4 楼 dulongfie 的回复:

                var initSleep = 2;
		window.onload = function(){
			this.sleep = initSleep;
			document.onmousemove = document.onmousedown = document.onkeydown = function(e){window.sleep = initSleep}
			setInterval(function(){this.sleep === 0 ? toDo() : this.sleep --},1000)
		}
		function toDo(){
			console.log(this.sleep);
			this.sleep = initSleep;
		}
能改成对页面操作结束后1分钟无操作,再执行方法吗?(不好意思,我之前没说清楚)
自渡96 2018-01-24
  • 打赏
  • 举报
回复
引用 3 楼 jslang 的回复:

var timer;
window.onload = document.onmousemove = document.onkeydown = function () {
	clearTimeout(timer);
	timer = setTimeout(function(){
		alert("30秒无操作");
	}, 30000);
}

能改成对页面操作结束后1分钟无操作,再执行方法吗?(不好意思,我之前没说清楚)
自渡96 2018-01-24
  • 打赏
  • 举报
回复
[quote=引用 2 楼 showbo 的回复:]

    var tick=0;
    window.onload = function () {
        setInterval(function () {
            tick++;
            if (tick > 30) {
                //超过30s
            }
        }, 1000);
    }
    document.onmousemove = document.onkeydown = function () { tick = 0 };
能改成对页面操作结束后1分钟无操作,再执行方法吗?(不好意思,我之前没说清楚)
roffer 2018-01-24
  • 打赏
  • 举报
回复

                var initSleep = 2;
		window.onload = function(){
			this.sleep = initSleep;
			document.onmousemove = document.onmousedown = document.onkeydown = function(e){window.sleep = initSleep}
			setInterval(function(){this.sleep === 0 ? toDo() : this.sleep --},1000)
		}
		function toDo(){
			console.log(this.sleep);
			this.sleep = initSleep;
		}
天际的海浪 2018-01-24
  • 打赏
  • 举报
回复

var timer;
window.onload = document.onmousemove = document.onkeydown = function () {
	clearTimeout(timer);
	timer = setTimeout(function(){
		alert("30秒无操作");
	}, 30000);
}

  • 打赏
  • 举报
回复

    var tick=0;
    window.onload = function () {
        setInterval(function () {
            tick++;
            if (tick > 30) {
                //超过30s
            }
        }, 1000);
    }
    document.onmousemove = document.onkeydown = function () { tick = 0 };


Web开发学习资料推荐
Web开发网
jqGrid事件
sjjk 2018-01-24
  • 打赏
  • 举报
回复
定义一个变量a 定时任务t1,对a每秒累加,当a>=30时执行你要执行的方法。 定时任务t2,监听页面的鼠标移动事件,鼠标有移动,设置 a=0

87,993

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧