我想知道如何计算鼠标特定的动作。
我想知道如何确定鼠标从A移动到B.
例如,像win8一样。当鼠标位于窗口侧面,然后将其放下时,会出现侧边栏。
$(window).on('mousemove' function(e){
if(e.pageX is on area of or close to the side of window){
// how can I calculate if the mouse Y is from a point to a point??
if(Y is moved from A to B){
//do something
}
}
})
答案 0 :(得分:1)
您只需检查其宽度即可确定window
的左侧:
if(e.pageX >= ($(window).width() - 20))
将检查鼠标是否在窗口右侧的20px范围内。
要检查移动的距离,您需要以某种方式记录最后的已知位置,然后进行比较。例如,您可能会这样做:
var last_pos = { x: false, y: false },
coord_check = $(window).width() - 20; // or whatever value from the right you want to check.
$(window).on('mousemove' function(e) {
if(e.pageX >= coord_check)
{
// If they're null, we can't do anything:
if((last_pos.x !== false && last_pos.y !== false) && ((e.pageX - last_pos.x) > 20)) {
// you can access the current position through e.pageX and e.pageY
// last_post.x and last_pos.y will tell you the last known position
}
}
// Now we need to update the last position:
last_pos.x = e.pageX;
last_pos.y = e.pageY;
});
答案 1 :(得分:1)
你应该有“区域”来控制,并在你的鼠标移动中跟踪最后和当前区域, 并且基于寄存器事件处理程序来处理场景,例如从A到B,从C到X,等等。 :)
这里有一个任务清单: