0

我有一个可滚动的列表。它的 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 等。有人能帮我解决这个问题吗?

4

0 回答 0