位置: 编程技术 - 正文
推荐整理分享javascript自定义滚动条实现代码(javascript自定义函数),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:javascript自定义对象的方法,javascript自定义属性,javascript自定义对象,javascript自定义对象,javascript自定义对象的方法,javascript自定义函数一定要有返回值,javascript自定义对象,javascript自定义函数,内容如对您有帮助,希望把文章链接给更多的朋友!
在工作中经常会遇到内容会超出固定的一个范围,超出的内容一般会使用到滚动条来滚动显示。
但是用浏览器默认的滚动条经常被产品经理鄙视,可是用css却改变不了滚动条的样式,还好,有万能的js ^_^~~
网上有各种各样的插件,但最顺手的还是自己写的,还可以一边撸一边当学习,自己动手丰衣足食 (*^__^*)
其中这三个问题深深地困扰我:
1、滚动条高度 2、每次点击向上、向下按钮的时候滚动条应该移动多少距离 3、每拖动1px滚动条,页面需要移动多少?整个的框架大概是长这样的:
先来看看第一个问题。
由于目前已经知道内容区域的高度和内容可视高度以及滚动条可滚动区域的高度了,由于内容区域与滚动条每次移动的距离都是成正比的,所以第一个问题很好解决:
滚动条可移动范围 / 滚动条高度 = 内容高度 / 内容可视高度
每次点击按钮的时候滚动条应该移动多少距离?
这里我是给参数distance设置一个值来决定每次点按钮的时候,内容区域应该滚动多少的距离。改变这个值可以改变内容区域滚动的快慢,如果有更好的处理方法和建议记得告诉我喔~
目前,内容区域每次滚动的距离是知道了,剩下的是计算滚动条相对于应该移动多少距离?
滚动条可移动范围 /滚动条每次移动距离 = 内容区域高度 / 内容区域每次移动多少距离
效果如下:
这里还有一个问题,就是同时还得区分是单次点击还是长按。
所以得判断一下从按下按钮到松开时候的时长,目前设置为<ms为单次点击,否则为长按:
拖动滚动条的时候,每移动1px滚动条,内容区域需要移动多少?
先知道每1PX的距离占滚动条可移动范围的百分之几,再用内容区域高度除以所得的这个百分比,就得出滚动条每移动1px内容区域相对滚动多少距离了。
内容区域滚动的距离 = 内容区域高度 / (滚动条滚动区域 / 1)
demo完整代码如下:
注意:因为用的是seajs写的,所以稍微留意下文件的加载情况啦
css:
html:
js:
标签: javascript自定义函数
本文链接地址:https://www.jiuchutong.com/biancheng/381714.html 转载请保留说明!友情链接: 武汉网站建设