根据element框架的el-scrollbar来实现的,根据官方源码自己写了一版,用于了解该功能的实现。

要点:

  1. 通过margin的负值以及不定宽高的父级元素verflow: hidden实现隐藏滚动条
  2. 真实的滚动条被隐藏后实现一个自己的滚动条(点击滚动滑轨滚动和拖拽滑块滚动)
  3. 实现一个div的resize事件监听来动态更新虚拟滚动条的大小

其中最难的就是拖拽滑块滚动,那个算法真的看不懂,反正照抄了,由于不是很有时间研究,所以没有对移动端的touch事件进行兼容。

参考文章: Element-ui el-scrollbar 源码解析

本人仓库:CustomScrollBar

效果展示:

总结:

个人的实现肯定是没有现在那些有名的插件实现的那么好,但是有助于我们理解它的实现,这样在使用其他插件的时候,也可以很快的明白其用意和原理。

分类: 前端功能 标签: 虚拟滚动条

评论

暂无评论数据

暂无评论数据

目录