关于滚动条的那些事

项目中用到的滚动条主要集中在两个方面,一是需要进行滚动条的样式设置,适配网站的整体UI;二是获取滚动条的属性,进行页面滑动方面的交互:比如说滑动定位已经滑动加载等

滚动条样式的设置

基于webkit的浏览器

1. ::-webkit-scrollbar 滚动条整体部分,可以设置宽高
2. ::-webkit-scrollbar-thumb 滚动条
3. ::-webkit-scrollbar-track 滚动条的轨道
4. ::-webkit-scrollbar-button 滚动条的轨道的两端按钮
5. ::-webkit-scrollbar-track-piece 内层轨道,滚动条中间部分
6. ::-webkit-scrollbar-corner 边角,即垂直滚动条和水平滚动条相交的地方
7. ::-webkit-resizer 垂直和水平滚动条交汇处用于拖动调整元素大小的控件

滚动条组成结构图:

webkit浏览器用于滚动条的伪类

:horizontal 适用于水平方向上的滚动条
:vertical 适用于垂直方向上的滚动条
:decrement 适用于递减的按钮和轨道碎片
:increment 适用于递增的按钮和轨道碎片
:start 适用于按钮和轨道碎片。表示对象是否放在滑块的前面
:end 适用于按钮和轨道碎片。表示对象是否放在滑块的后面
:double-button 适用于按钮和轨道碎片。判断轨道碎片是否紧挨一对在一起的按钮
:single-button 适用于按钮和轨道碎片。判断轨道碎片是否紧挨一个单独的按钮
:no-button 表示轨道碎片没有紧挨按钮
:corner-present 表示滚动条的角落是否存在
:window-inactive 表示包含滚动条的区域,焦点不在该窗口的时候

当然也可以使用jQuery的滚动条插件nanoscroller和vue的滚动条插件vue-happy-scroll 进行滚动条样式的设置

滑动事件

下拉加载

1.获取当前可视范围的高度 document.documentElement.clientHeight||document.body.clientHeight
2.获取滚动条距离顶部的高度 document.document.scrollTop||$().offset().top
3.获取整个页面的高度 document.documentElement.scrollHeight||document.body.scrollHeight||
$(window).Height()
4.判断可视范围高度+滚动条距离顶部高度=== 页面高度 等于则到达底部

上划固定

1.获取当前元素距离顶部的高度 $().offset().top||document.getElementById().scrollTop
2.获取滚动条距离顶部的高度
3.当当前元素距离顶部的高度小于滚动条距离顶部高度时,固定
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值