Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将jquery mousemove事件约束到_Jquery - Fatal编程技术网

将jquery mousemove事件约束到

将jquery mousemove事件约束到,jquery,Jquery,我正在构建一个自定义滚动条,到目前为止,我已经使用它来控制div的滚动,如下所示: var howfar = 0; $('#scroller').mousedown(function() { $(this).mousemove(function(e){ howfar += 1; $('#resumebox').scrollTop(howfar); }) }); 当移动在x或y上移动时,这显然是激活的,我如何约束它使其仅在y上工作 谢谢。计算鼠

我正在构建一个自定义滚动条,到目前为止,我已经使用它来控制div的滚动,如下所示:

var howfar = 0;
$('#scroller').mousedown(function() {

    $(this).mousemove(function(e){

        howfar += 1;
        $('#resumebox').scrollTop(howfar);
    })
});
当移动在x或y上移动时,这显然是激活的,我如何约束它使其仅在y上工作


谢谢。

计算鼠标在Y轴上的移动量并使用该值如何

$('#scroller').mousedown(function(e) {

    var startMouseY = e.pageY;
    var currentScrollPosition = $('#resumebox').scrollTop();

    $(this).mousemove(function(e){

        var howfar = currentScrollPosition + e.pageY - startMouseY;
        $('#resumebox').scrollTop(howfar);

    });
});
我还没有测试过这个,但是它看起来很简单。您只需获取要滚动的div的当前scrollTop值,然后计算mousedown的Y位置和mousemove的当前Y位置之间的差值,然后将其添加到div的scrollTop位置