簡単なコードでマウスの位置を取得します。
$("#container").mousemove( function(e) {
client_x = e.pageX;
client_y = e.pageY;
// save coordinates
});
しかし、マウスの方向が変わったときの開始座標と停止座標+座標だけが必要なので、マウスの動きを「コピー」できます。
マウスが一定時間停止したかどうかを確認するには、ある種のタイマーが必要だと思いますか?
簡単なコードでマウスの位置を取得します。
$("#container").mousemove( function(e) {
client_x = e.pageX;
client_y = e.pageY;
// save coordinates
});
しかし、マウスの方向が変わったときの開始座標と停止座標+座標だけが必要なので、マウスの動きを「コピー」できます。
マウスが一定時間停止したかどうかを確認するには、ある種のタイマーが必要だと思いますか?
var timer, timer2 = 0, client_x, client_y; //I made them global since it's easier
$("#container").mousemove( function(e) {
clearTimeout(timer);
client_x = e.pageX;
client_y = e.pageY;
if((new Date()).getTime() > timer2 + 2000) {
timer2 = (new Date()).getTime(); //just in case this event handler gets called again before the timer runs doCopy
setTimeout(doCopy, 1); //run "outside" the event handler (since it's not good for an event handler to take a long time
} else {
timer = setTimeout(doCopy, 1000);
}
});
function doCopy() {
timer2 = (new Date()).getTime();
.....
}
これは、タイマーの設定とクリアを常に行っています。マウスが 1 秒間停止すると、doCopy()関数がトリガーされます。