javascript 判断用户有没有操作页面


Posted in Javascript onOctober 17, 2017

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>

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
js判断选择时间不能小于当前时间的示例代码
Sep 24 Javascript
浅谈JavaScript函数参数的可修改性问题
Dec 05 Javascript
jQuery调取jSon数据并展示的方法
Jan 29 Javascript
js实现Select列表各项上移和下移的方法
Aug 14 Javascript
jQuery多级联动下拉插件chained用法示例
Aug 20 Javascript
Windows环境下npm install 报错: operation not permitted, rename的解决方法
Sep 26 Javascript
JQuery中解决重复动画的方法
Oct 17 Javascript
js按条件生成随机json:randomjson实现方法
Apr 07 Javascript
浅谈es6中export和export default的作用及区别
Feb 07 Javascript
vue里面v-bind和Props 利用props绑定动态数据的方法
Aug 27 Javascript
vue 双向数据绑定的实现学习之监听器的实现方法
Nov 30 Javascript
使用Vue-Awesome-Swiper实现旋转叠加轮播效果&amp;平移轮播效果
Aug 16 Javascript
vue-router 路由基础的详解
Oct 17 #Javascript
如何抽象一个Vue公共组件
Oct 17 #Javascript
vue实现图书管理demo详解
Oct 17 #Javascript
基于Vue实现图书管理功能
Oct 17 #Javascript
Vue.js简易安装和快速入门(第二课)
Oct 17 #Javascript
什么是Vue.js框架 为什么选择它?
Oct 17 #Javascript
node使用Koa2搭建web项目的方法
Oct 17 #Javascript
You might like
DIY实用性框形天线
2021/03/02 无线电
php 错误处理经验分享
2011/10/11 PHP
PHP自动识别字符集并完成转码详解
2013/08/02 PHP
php实现用已经过去多长时间的方式显示时间
2015/06/05 PHP
详解WordPress中添加友情链接的方法
2016/05/21 PHP
PHP调用QQ互联接口实现QQ登录网站功能示例
2019/10/24 PHP
IE与Firefox在JavaScript上的7个不同写法小结
2009/09/14 Javascript
javascript 判断数组是否已包含了某个元素的函数
2010/05/30 Javascript
JQuery优缺点分析说明
2011/04/10 Javascript
jQuery(js)获取文字宽度(显示长度)示例代码
2013/12/31 Javascript
什么是MEAN?JavaScript编程中的MEAN是什么意思?
2014/12/18 Javascript
JS实现slide文字框缩放伸展效果代码
2015/11/05 Javascript
js+css简单实现网页换肤效果
2015/12/29 Javascript
Angular 应用技巧总结
2016/09/14 Javascript
bootstrapValidator表单验证插件学习
2016/12/30 Javascript
Ajax跨域实现代码(后台jsp)
2017/01/21 Javascript
AngularJS ionic手势事件的使用总结
2017/08/09 Javascript
解决vue打包之后静态资源图片失效的问题
2018/02/21 Javascript
关于redux-saga中take使用方法详解
2018/02/27 Javascript
微信小程序实现页面浮动导航
2020/01/08 Javascript
vue2.0 watch里面的 deep和immediate用法说明
2020/10/30 Javascript
[46:25]DOTA2上海特级锦标赛主赛事日 - 4 败者组第五轮 MVP.Phx VS EG第二局
2016/03/05 DOTA
pygame 精灵的行走及二段跳的实现方法(必看篇)
2017/07/10 Python
Python中Threading用法详解
2017/12/27 Python
python计算两个地址之间的距离方法
2018/06/09 Python
Python 函数返回值的示例代码
2019/03/11 Python
python学生管理系统学习笔记
2019/03/19 Python
Python Matplotlib绘图基础知识代码解析
2020/08/31 Python
python 调用Google翻译接口的方法
2020/12/09 Python
CSS3属性background-size使用指南
2014/12/09 HTML / CSS
boostrap modal 闪现问题的解决方法
2020/09/01 HTML / CSS
Banggood官网:面向全球客户的综合商城
2017/04/19 全球购物
学生个人的自我评价分享
2013/11/05 职场文书
岗位职责的含义
2013/11/17 职场文书
大学优秀班集体申报材料
2014/05/23 职场文书
中秋节寄语2015
2015/03/24 职场文书