jQuery:如何使用鼠标垂直滚动

jQuery:如何使用鼠标垂直滚动,jquery,scroll,Jquery,Scroll,我有一个工作脚本,它允许我在-元素中滚动,同时按下鼠标并将其向左或向右移动 我想添加垂直滚动。如果我向右或向左移动鼠标,我会在屏幕内水平滚动,如果我将鼠标移动到顶部或底部,它会垂直滚动 $(function () { $('#myDiv').mousedown(function (event) { $(this) .data('down', true) .data('x', event.clientX) .data('scrollLeft', this

我有一个工作脚本,它允许我在-元素中滚动,同时按下鼠标并将其向左或向右移动

我想添加垂直滚动。如果我向右或向左移动鼠标,我会在屏幕内水平滚动,如果我将鼠标移动到顶部或底部,它会垂直滚动

$(function () {
$('#myDiv').mousedown(function (event) {
    $(this)
      .data('down', true)
      .data('x', event.clientX)
      .data('scrollLeft', this.scrollLeft);
    return false;
}).mouseup(function (event) {
    $(this).data('down', false);
}).mousemove(function (event) {
    if ($(this).data('down') == true) {
        this.scrollLeft = $(this).data('scrollLeft') + $(this).data('x') - event.clientX;
    }
}).css({
    'overflow': 'hidden',
    'cursor': '-moz-grab'
   });
});
$(window).mouseout(function (event) {
    if ($('#myDiv').data('down')) {
        try {
            if (event.originalTarget.nodeName == 'BODY' || event.originalTarget.nodeName == 'HTML') {
                $('#myDiv').data('down', false);
            }
        } catch (e) { }
    }
});
原始资料来源:

我试图补充

.data('y', event.clientY)
.data('scrollTop', this.scrollTop);
...
this.scrollTop = $(this).data('scrollTop') + $(this).data('y') - event.clientY;

但它对我不起作用。

为jquery找到了这个插件: 使用该插件,可以用鼠标水平和垂直滚动。 示例如下:

好主意,但我发现了一些虫子。希望,插件将被更新