计算用户使用JS/Jquery滚动和移动鼠标的次数
Counting the number of times a user scrolled and moved his mouse using JS / Jquery
我正在尝试使用以下jquery代码计算用户滚动页面(任何方向(并移动鼠标的次数:
$(window).bind('scroll',function(e){
scrolling++;
});
$(window).bind('mousemove',function(e){
mouse_moved++;
});
这样做的问题是,一个滚动事件或一个鼠标移动会给变量"滚动"和"mouse_moved"一个非常高的数量,而不仅仅是将其增加一个。
似乎每当洗涤器/鼠标位置发生变化时,它就已经将其计为一个事件,即使原始事件尚未完成。
我怎样才能正确地做到这一点?正确计算一个滚动和鼠标移动事件?
您需要跟踪您的状态,例如检测滚动/移动何时开始,然后在何时结束。你需要决定"结束"是什么意思 ——在你决定它停止移动之前,鼠标必须再次静止多长时间?5毫秒?10?15?
var scrolling = 0;
var scrollTimeout = 0;
$(window).bind('scroll',function(e){
cancelTimeout(scrollTimeout);
scrollTimeout = setTimeout(doneScrolling, 10); // 10 = 10ms
});
function doneScrolling() {
scrollTimeout = 0;
++scrolling;
}
。鼠标移动(具有自己的独立计时器(也是如此。
相关文章:
- 每当您在选择器内移动鼠标时,悬停功能就会重复
- D3.js:如何在svg上移动鼠标时创建弹出事件
- 为什么当我快速移动鼠标时,我的jQuery会崩溃
- 单击链接时加载移动鼠标光标 3-4 秒
- HTML 表在 TD 之间移动鼠标时触发鼠标输出
- 计算用户使用JS/Jquery滚动和移动鼠标的次数
- 如何使用JavaScript移动鼠标指针
- HTML5画布:如果在画布上移动鼠标时按下了鼠标按钮,则进行检测
- 通过jQuery或JS移动鼠标
- 引导程序 3 日期选取器 v4:移动鼠标时自动选择自定义周
- 无法检测在移动鼠标时按下的鼠标按钮
- 移动鼠标以触发CasperJS中的悬停事件
- 移动鼠标时更改视频的时间
- 当我按住鼠标按钮移动鼠标时,Fabric.js–元素是未定义的
- 当don't移动鼠标并在移动时出现
- 没有jquery的移动鼠标悬停事件
- 火狐在重型JS上崩溃,除非我移动鼠标
- jQuery点击事件只在移动鼠标后工作
- Javascript / jQuery在弹出窗口后检测悬停元素&不移动鼠标
- 如何绘制签名(点击,保持和移动鼠标)使用javascript