使用Jquery不断获取鼠标的方向

时间:2014-05-06 16:59:33

标签: javascript jquery mouseevent mousemove

我正在尝试使用Jquery在自动收录器中实现自己的滚动,因为正常滚动在对抗动画时效果不佳。我需要检测鼠标移动的方向。我可以不断获取鼠标的当前位置,我需要做的是保存当前位置,然后将其保存以供下次检查。如何保存event.clientX以进行下一步行动?

我正在使用的代码是JSFiddle中的第24-37行:

function track_mouse_pos(event) {
    var direction = "right";
    if(event.clientX < event.data.start_x){
       direction = "left"; 
    }
    $('#start_mouse_tracker').html("( " + direction + " )");
    $('#drag_tracker').html("( " + event.clientX + ", " + event.clientY + " )");
}

$("#controller").mousedown(function (event) {
    var start_x = event.clientX;
    var start_y = event.clientY;
    $("#controller").on('mousemove', {start_x: start_x}, track_mouse_pos);
});

修改 值得注意的是,我已经尝试将值保存在JSFiddle中 我将此添加到if语句中,但它仍然没有解决问题,所以我想应该是的问题,我应该在哪里保存当前鼠标位置?它应该是一个全局变量还是我可以使用的mousemove事件中有什么东西?

var current_x = event.data.start_x
    if(event.clientX < current_x){
       direction = "left"; 
       current_x = event.clientX;
    }
    else{
        direction = "right"; 
       current_x = event.clientX;
    }

0 个答案:

没有答案