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