js实现自定义滚动条的示例
#代码知识 发布时间: 2026-01-12
自定义滚动条

目录
- 代码实例
- 代码解析
- 下载源码链接
代码实例
* {
padding: 0;
margin: 0;
}
#box1 {
width: 500px;
height: 20px;
background: #999;
position: relative;
margin: 20px auto;
}
#box2 {
width: 20px;
height: 20px;
background: green;
position: absolute;
}
#box3 {
width: 0;
height: 0;
margin: 20px auto;
}
#box3 img {
width: 100%;
height: 100%;
}
<div id="box1">
<div id="box2"></div>
</div>
<div id="box3">
<img src="./1.jpg">
</div>
// 获取dom元素
var oBox1 = document.getElementById('box1');
var oBox2 = document.getElementById('box2');
var oBox3 = document.getElementById('box3');
// 按下滚动条后的操作
oBox2.onmousedown = function(e) {
// 获取事件的必备操作,保证事件被获取
var oEvent = e || event
// 保证只有被按下滚动条后才能执行此函数
document.onmousemove = function(e) {
var oEvent = e || event
var l = oEvent.clientX - oBox1.offsetLeft
// 获取滚动条可活动的宽度范围
var wid = oBox1.offsetWidth - oBox2.offsetWidth
if (l < 0) {
l = 0
} else if (l > wid) {
l = wid
}
// 位置定位
oBox2.style.left = l + 'px'
// 根据滚动条位置获得比例
var scale = l / wid
// 图片的宽度和高度
var w = 3264 * scale
var h = 4080 * scale
// oBox3.style.cssText是加在内嵌style中的
oBox3.style.cssText += 'width:' + w + 'px;height:' + h + 'px;'
}
// 保证鼠标松开后事件不再执行
document.onmouseup = function() {
document.onmousemove = null
document.onmousedown = null
}
}
代码解析
elem.style.cssText是加在内嵌style中的
// oBox3.style.cssText是加在内嵌style中的 oBox3.style.cssText += 'width:' + w + 'px;height:' + h + 'px;
下载源码链接
星辉的Github
以上就是js实现自定义滚动条的示例的详细内容,更多关于js实现自定义滚动条的资料请关注其它相关文章!
代码知识SEO上一篇 : Springmvc返回html页面问题如何解决
下一篇 : 使用python-cv2实现Harr+Adaboost人脸识别的示例
-
SEO外包最佳选择国内专业的白帽SEO机构,熟知搜索算法,各行业企业站优化策略!
SEO公司
-
可定制SEO优化套餐基于整站优化与品牌搜索展现,定制个性化营销推广方案!
SEO套餐
-
SEO入门教程多年积累SEO实战案例,从新手到专家,从入门到精通,海量的SEO学习资料!
SEO教程
-
SEO项目资源高质量SEO项目资源,稀缺性外链,优质文案代写,老域名提权,云主机相关配置折扣!
SEO资源
-
SEO快速建站快速搭建符合搜索引擎友好的企业网站,协助备案,域名选择,服务器配置等相关服务!
SEO建站
-
快速搜索引擎优化建议没有任何SEO机构,可以承诺搜索引擎排名的具体位置,如果有,那么请您多注意!专业的SEO机构,一般情况下只能确保目标关键词进入到首页或者前几页,如果您有相关问题,欢迎咨询!