vue项目中需要模拟表格的滚动条效果,涉及的事件就是mousedown、mouseup、mousemove;其中mousedown事件是绑定在滚动条上的,但是mousemove和mouseup事件则应该是绑定在document上,这样才能很好地实现滚动条的拖动;
首先在组件methods中定义两个函数:
1、获取鼠标位置坐标:
1 | getPos(ev){ |
2、定义滚动条的mousedown事件,并在其内部定义document的mousemove和mouseup事件:
1 | drag(ev){ |
3、最后在滚动条元素上绑定mousedown事件即可:
1 | <div id="sliderWrap"> |