在容器内用鼠标拖动滚动

时间:2019-09-10 11:14:18

标签: javascript jquery

我有一个可滚动的列表。它的overflow-y属性设置为可滚动,我可以使用滚动条进行滚动,但是我希望能够使用鼠标上下拖动。

这是我到目前为止所拥有的

    //Allows the user to scroll by dragging the mouse
    element.on({
        'mousemove': function(e)
        {
            if (self.get('clicked'))
            {
                const difference = self.get('clickY') - element.scrollTop();
                const scrollY = difference + (e.pageY - element.offset().top);
                element.scrollTop(scrollY);
            }
        },
        'mousedown': function (e)
        {
            const clickY = (e.pageY - element.offset().top) + element.scrollTop();

            self.set('clicked', true);
            self.set('clickY', clickY);
        },
        'mouseup': function (e)
        {
            self.set('clicked', false);
        },
        'mouseleave': function(e)
        {
            self.set('clicked', false);
        }
    });

我一直在使用它,但是无法正确处理,因为我必须考虑元素的y位置,它已经滚动了多少,mouseY等。有人可以帮助我解决这个问题吗?这个吗?

0 个答案:

没有答案