gpt4 book ai didi

javascript - 更快地移动鼠标时无法捕获所有鼠标坐标

转载 作者:行者123 更新时间:2023-11-29 22:23:25 26 4
gpt4 key购买 nike

我写了下面的代码来计算鼠标移动的坐标

$(document).mousemove(function(e){
console.log(e.pageX + ", " + e.pageY);
});

here是 fiddle 。

我的问题是,当我缓慢移动鼠标时,我能够在控制台中看到所有鼠标移动的坐标。但是当我移动得更快时,我看不到全部。只统计了几个,是不是我的代码有问题?

最佳答案

您需要对它们进行内推(即计算您自己之间的点)。浏览器只会在每个新的刻度(例如每 0.01 秒)返回鼠标位置。

幸运的是,鼠标位置只是偶尔检查一下,否则操作系统会立即死机。

内推看起来像

var posX, posY;
$(document).mousemove(function(e){
var points = [];
if(posX && posY) {
// calculate a straight line that the mouse moved over
// It gets more difficult if you want to take e.g.
// the current curved path into account
var diffX = e.pageX - posX;
var diffY = e.pageY - poxY;
var length = Math.round(Math.sqrt((diffY*diffY)+(diffX*diffX)));
for(n=0;n<length;n++) {
var pointX = posX + (n/length) * diffX;
var pointY = posY + (n/length) * diffY;
points.push({x:pointX,y:pointY});
}
}
points.push({x:e.pageX,y:e.pageY});
posX = e.pageX;
poxY = e.pageY;
for(point in points) {
console.log(point.x + ", " + point.y);
}
});

关于javascript - 更快地移动鼠标时无法捕获所有鼠标坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10932903/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com