时间:2021-07-01 10:21:17 帮助过:2人阅读
javascript 判断用户有没有操作页面
用js判断用户有没有操作页面,我们所要做的就是整理我们的思路。
一、思路
用户有没有操作界面,我们可以从页面在规定时间内有没有触发事件去考虑。比如用户有没有点击,有没有按键,有没有滚动鼠标滚轴。用户有没有移动鼠标等等。如果用户没有进行这些操作,那么我们可以大概的认为用户没有操作页面。我们可以给一个定时器。来记录在规定时间内用户有没有触发这些事件。我直接贴代码,代码的具体含义,我就不再讲解,思路大概就是这样。
二、代码演示
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>js判断用户有没有操作页面</title> </head> <body> <script> window.onload = function (){ (function($){ funObj = { timeUserFun:'timeUserFun', } $[funObj.timeUserFun] = function(time){ var time = time || 2; var userTime = time*60; var objTime = { init:0, time:function(){ objTime.init += 1; if(objTime.init == userTime){ console.log(111) // 用户到达未操作事件 做一些处理 } }, eventFun:function(){ clearInterval(testUser); objTime.init = 0; testUser = setInterval(objTime.time,1000); } } var testUser = setInterval(objTime.time,1000); var body = document.querySelector('html'); body.addEventListener("click",objTime.eventFun); body.addEventListener("keydown",objTime.eventFun); body.addEventListener("mousemove",objTime.eventFun); body.addEventListener("mousewheel",objTime.eventFun); } })(window) // 直接调用 参数代表分钟数,可以有一位小数; timeUserFun(0.1); } </script> </body> </html><!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>js判断用户有没有操作页面</title> </head> <body> <script> window.onload = function (){ (function($){ funObj = { timeUserFun:'timeUserFun', } $[funObj.timeUserFun] = function(time){ var time = time || 2; var userTime = time*60; var objTime = { init:0, time:function(){ objTime.init += 1; if(objTime.init == userTime){ console.log(111) // 用户到达未操作事件 做一些处理 } }, eventFun:function(){ clearInterval(testUser); objTime.init = 0; testUser = setInterval(objTime.time,1000); } } var testUser = setInterval(objTime.time,1000); var body = document.querySelector('html'); body.addEventListener("click",objTime.eventFun); body.addEventListener("keydown",objTime.eventFun); body.addEventListener("mousemove",objTime.eventFun); body.addEventListener("mousewheel",objTime.eventFun); } })(window) // 直接调用 参数代表分钟数,可以有一位小数; timeUserFun(0.1); } </script> </body> </html>
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!